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

标签 database delphi delphi-xe2 firemonkey

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

XE2 中内置了什么可以“开箱即用”并且不需要第三方工具的东西?

除了 TClientDataSet/xml 文件 :)

最佳答案

您可以使用我的 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;

关于database - Firemonkey 应用程序的嵌入式数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538602/

相关文章:

delphi - 如何从 Windows 任务管理器(“应用程序”选项卡)获取应用程序及其在 Delphi 硬盘上的位置

delphi - 如何使用 ANTLR 生成 Delphi 输出?

macos - 如何在 Delphi XE2 中向 Mac OS Finder 添加菜单项

multithreading - 空的新 VCL 表单应用程序下正在运行哪 4 个线程?

delphi - 如何防止 "end process tree"终止我已启动的程序?

javascript - 使用API​​数据更有效的方法是什么?

java - H2 createTcpServer() 不创建服务器?

database - 微服务:如何处理外键关系

c# - Delphi MatchesMask 函数的 C# 等价物是什么?

database - 审计 dml 语句的 oracle 模式