Delphi XE使用SQLite3

用Delphi開發小程序,之前使用過Access數據庫,但是由於Access依賴於office,感覺有些不太方便,研究一下Delphi使用SQLite3。

SQLite是一款輕型的數據庫,是遵守ACID的關係型數據庫管理系統,它包含在一個相對小的C庫中。

SQLite下載

官網下載頁面 https://www.sqlite.org/download.html

找到下圖內容,根據自己的開發環境選擇下載32位的dll還是64位的dll,tools是一個能連接SQLite3的工具。

Delphi XE使用SQLite3

Delphi簡單操作SQLite

  1. 將dll放入程序對應目錄下,dll版本一定要和開發環境相對應
    Delphi XE使用SQLite3
  2. 選擇兩個控件TFDConnection和TFDQuery, Name分別爲FDConnection1和FDQuery1。 FDQuery1.SQLConnection選擇FDConnection1。
  3. 簡單操作,創建連接數據庫,創建表,添加數據和查詢數據
    Delphi XE使用SQLite3
    (1)創建連接數據庫,數據庫文件沒有會自動創建
    procedure TForm1.CreateDBClick(Sender: TObject);
    begin
    FDConnection1.DriverName := 'SQLite';
    FDConnection1.Params.Add('DriverID=SQLite') ;
    FDConnection1.Params.Add('Database=E:\sqlite1.db') ;
    FDConnection1.Connected := True;
    end;

    (2)創建表

procedure TForm1.CreateTableClick(Sender: TObject);
begin
    FDConnection1.Connected := True;
    FDQuery1.Close;
    FDQuery1.SQL.Clear;
    FDQuery1.SQL.Add('create table user( id INTEGER primary key autoincrement , ' +
        ' name varchar(255) not null , age INTEGER);');
    FDQuery1.ExecSQL;
end;

(3)添加數據

procedure TForm1.AddClick(Sender: TObject);
begin
  FDConnection1.Connected := True;
  FDQuery1.Close;

  FDQuery1.SQL.Clear;
  FDQuery1.SQL.Add('insert into user(name,age) values(' + QuotedStr('李四')+ ',15);');
  FDQuery1.ExecSQL;
end;

(4)查詢數據

procedure TForm1.SearchClick(Sender: TObject);
begin
  FDConnection1.Connected := True;
  FDQuery1.Close;
  FDQuery1.SQL.Clear;
  FDQuery1.SQL.Add('select id,name,age from user;');
  FDQuery1.Open;
  while Not FDQuery1.Eof do
  begin
    Memo1.Lines.Add(FDQuery1.FieldByName('id').AsString + '  ' + FDQuery1.FieldByName('name').AsString +
           ' ' + FDQuery1.FieldByName('age').AsString ) ;
    FDQuery1.Next;
  end;
end;

問題:XE8執行FDQuery1.ExecSQL報Object factory for class{xx-xx-xx-xx-xx} is missing. To register it。
解決方法:添加TFDGUIxWaitCursor控件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章