2

SQLiteにいくつかのデータを保存する必要があります。SQLiteを操作するにはUniDacを選択しましたが、問題があります。UniConnectionの[データベース]フィールドでSQLiteを選択し、データベースの名前を入力すると、「サポートされていないメタデータの種類」というエラーが表示されます。データベースファイルは作成されません。何が問題ですか?以前にUniDacで作業したように、そのような問題は観察されません。

4

1 に答える 1

2

UniDAC4.1.6とDelphiXE2問題は発生していません。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;
于 2012-05-30T01:55:45.523 に答える