Firemonkey应用程序的嵌入式数据库

时间:2011-09-24 11:01:35

标签: database delphi delphi-xe2 firemonkey

创建一个客户端应用程序,希望将整个数据库嵌入到软件中或单个独立的dll(即sqlite)中,而不是像mysql那样。

XE2内置了什么,可以“开箱即用”而不需要第三方工具?

除了TClientDataSet / xml文件:)

3 个答案:

答案 0 :(得分:3)

Firebird适用于XE2 ...对于单个用户使用,您无需运行服务即可访问它(但您需要使用firebird客户端和供应商dll来访问它)。

答案 1 :(得分:3)

您可以使用支持多平台的SQLite wrapper(我的blog中的更多信息)。在Windows中,您需要在应用程序中部署sqlite3.dll,在OSX上不需要这样做。你可以从svn获得资源。用法示例:

uses
  SQLiteTable3,
  {$IFDEF DELPHI16_UP}
  System.SysUtils;
  {$ELSE}
  SysUtils;
  {$ENDIF}

procedure Demo;
var
  slDBpath: string;
  db: TSQLiteDatabase;
  pstm TSQLitePreparedStatement;
begin
  slDBpath := IncludeTrailingPathDelimiter(GetHomePath) + 'test.db';
  db := TSQLiteDatabase.Create(slDBpath);
  try
    if db.TableExists('testtable') then
    begin
      pstm := TSQLitePreparedStatement.Create(db,
        'insert into testtable (name,number) values (?,?)',  //sql statement
        ['NewRec', 99.99]); //parameter values
      try
        pstm.ExecSQL;
      finally
        pstm.Free;
      end;
    end;

  finally
    db.Free;
  end;
end;

答案 2 :(得分:1)

另外,您可以查看NexusDB Embedded,它是本机Delphi解决方案,不需要任何Dll。