【问题标题】:Embeded DB for Firemonkey appsFiremonkey 应用程序的嵌入式数据库
【发布时间】:2011-09-24 11:01:34
【问题描述】:

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

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

除了 TClientDataSet / xml 文件:)

【问题讨论】:

    标签: database delphi delphi-xe2 firemonkey


    【解决方案1】:

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

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

      【讨论】:

      • 你如何嵌入它?
      • resource.. 在运行时提取... :/ 我理解问题的方式更多的是他不想要服务器解决方案...但我可能误解了?
      • 仔细阅读特征矩阵。 Professional 或 Starter 版本不支持 dbExpress Firebird 驱动程序。要获得 dbExpress Firebird 驱动程序,您需要 Enterprise、Ultimate 或 Architect 版本。
      • @CapeCodGunny:是的,没错。 (也许 Wizzard 可以确定他拥有哪个版本……)
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-10
        • 1970-01-01
        • 2010-09-22
        • 1970-01-01
        • 1970-01-01
        • 2018-12-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多