Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как вшить БД в приложение для Win32/64?


Platon

Вопрос

Рекомендуемые сообщения

  • 0

никак

куда должен компилятор "паковать" эти файлы?

в андроиде apk - это простой zip, и туда много что входит

в windows аналогом будет являться msi

но созданием этого пакета занимаются другие программы

Ссылка на комментарий
  • 0

меняй путь к базе руками ибо если она у тебя лежит в проекте то при сборке программы она помещает exe-шник в папку win32\debug или release в зависимости от того что компилировал. а соответственно там нет твой базы лежащей в корне проекта. ну или по другому, я в настройках проекта указал что бы сборка шла в папку с исходниками и все работает. 

Ссылка на комментарий
  • 0
 procedure TDM1.FDConnection1BeforeConnect(Sender: TObject);
    begin
 
      {$IFDEF DCC}
      {$IFDEF MSWINDOWS}
 
      FDConnection1.Params.Values['ColumnMetadataSupported'] := 'False';
      FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDirectoryName(ParamStr(0)), 'baza.sqlite');
      FDConnection1.Params.Add('SharedCache=False');
      FDConnection1.Params.Add('LockingMode=Normal');
 
      // FDConnection1.Params.Values['Password'] := '52V11aP7_bYnl_VHDXfN|U]F<*^{4,S}1]m5>Ss5a2|!vOhp(o-CW^7=5\DHW4S';
      // FDConnection1.Params.Values['NewPassword'] := '52V11aP7_bYnl_VHDXfN|U]F<*^{4,S}1]m5>Ss5a2|!vOhp(o-CW^7=5\DHW4S';
      // FDConnection1.Params.Values['Password']    := '';
      // ShowMessage(TPath.Combine(TPath.GetDirectoryName(ParamStr(0)), 'baza.sqlite'));
 
      {$ENDIF}
      {$IFDEF ANDROID}
 
      FDConnection1.Params.Values['ColumnMetadataSupported'] := 'False';
      FDConnection1.Params.Values['Database']                := TPath.Combine(TPath.GetDocumentsPath, 'baza.sqlite');
      FDConnection1.Params.Add('SharedCache=False');
      FDConnection1.Params.Add('LockingMode=Normal');
      // FDConnection1.Params.Values['Password'] := '52V11aP7_bYnl_VHDXfN|U]F<*^{4,S}1]m5>Ss5a2|!vOhp(o-CW^7=5\DHW4S';
 
      {$ENDIF}
      {$IFDEF MACOS}
      {$IFDEF IOS}
 
      FDConnection1.Params.Values['ColumnMetadataSupported'] := 'False';
      FDConnection1.Params.Values['Database']                := TPath.Combine(TPath.GetDocumentsPath, 'baza.sqlite');
      FDConnection1.Params.Add('SharedCache=False');
      FDConnection1.Params.Add('LockingMode=Normal');
      // FDConnection1.Params.Values['Password'] := '52V11aP7_bYnl_VHDXfN|U]F<*^{4,S}1]m5>Ss5a2|!vOhp(o-CW^7=5\DHW4S';
 
      {$ELSE}
 
      FDConnection1.Params.Values['ColumnMetadataSupported'] := 'False';
      FDConnection1.Params.Values['Database']                := TPath.Combine(TPath.GetDocumentsPath, 'baza.sqlite');
      FDConnection1.Params.Add('SharedCache=False');
      FDConnection1.Params.Add('LockingMode=Normal');
      // FDConnection1.Params.Values['Password'] := '52V11aP7_bYnl_VHDXfN|U]F<*^{4,S}1]m5>Ss5a2|!vOhp(o-CW^7=5\DHW4S';
 
      {$ENDIF}
      {$ENDIF}
      {$IFDEF LINUX}
      {$ENDIF}
      {$ENDIF}
      {$IFDEF FPC}
      {$ENDIF}
 
    end;
 
Пароль на sqlite устанавливается так
NewPassword

Specifies a new password for a database and performs an encryption operation:

  • To encrypt an unencrypted database, specify the non-empty NewPassword and empty Password;
  • To decrypt an encrypted database, specify the empty NewPassword and non-empty Password;
  • To change an encrypted database password, specify the non-empty NewPassword and non-empty Password.
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...