创建一个客户端应用程序,希望将整个数据库嵌入到软件中或单个独立的dll(即sqlite)中,而不是像mysql那样。
XE2内置了什么,可以“开箱即用”而不需要第三方工具?
除了TClientDataSet / xml文件:)
答案 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。