需要在SQLite中存储一些数据。为了使用 SQLite,选择了 UniDac,但有一个问题:在 UniConnection 中的“数据库”字段中,我选择 SQLite 并输入数据库的名称 - 收到错误“不支持的元数据类型”。未创建数据库文件。问题是什么?由于之前与 UniDac 合作过,因此没有观察到此类问题。
最佳答案
UniDAC 4.1.6 与 Delphi XE2 我没有发现任何问题。 SQLite3.dll 必须位于系统路径或与可执行文件相同的目录中。下面的非常基本的示例在单击 btnConnect 时创建数据文件。
unit uMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.DBGrids, UniProvider,
SQLiteUniProvider, Data.DB, MemDS, DBAccess, Uni, Vcl.ExtCtrls, Vcl.DBCtrls,
Vcl.StdCtrls;
type
TfrmMain = class(TForm)
UniDataSource1: TUniDataSource;
UniConnection1: TUniConnection;
UniQuery1: TUniQuery;
SQLiteUniProvider1: TSQLiteUniProvider;
DBGrid1: TDBGrid;
edtDBName: TEdit;
Label1: TLabel;
DBNavigator1: TDBNavigator;
btnConnect: TButton;
procedure btnConnectClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnConnectClick(Sender: TObject);
begin
if (btnConnect.Caption = 'Connect') then
begin
UniConnection1.ProviderName := 'SQLite';
UniConnection1.Database := ExtractFilePath(Application.ExeName)
+ edtDBName.Text;
UniConnection1.Connect;
btnConnect.Caption := 'Disconnect';
end
else
begin
UniConnection1.Disconnect;
btnConnect.Caption := 'Connect';
end;
end;
关于Delphi:SQLite 和 UniDac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10754390/