為了方便測驗, 我把官方提供的 C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\data\FDDemo.sdb 復制了一份到 C:\Temp\FDDemo.sdb.
{新建一個 VCL Forms Application, 然后添加如下控制元件(建議按 Ctrl + . 后用鍵盤輸入添加):} TFDPhysSQLiteDriverLink // 用于驅動自動連接; 不同資料庫各對應一個: TFDPhys****DriverLink TFDGUIxWaitCursor // 用于自動管理 GUI 程式的"等待游標"; 在 Console 和 FMX 下也都有類似對應的東西 TFDConnection // 資料連接 TFDQuery // 資料查詢 TDataSource // 資料源 TDBGrid // 資料顯示 // uses FireDAC.Phys.SQLite 之后, 可不用添加 TFDPhysSQLiteDriverLink // uses FireDAC.VCLUI.Wait 之后, 可不用添加 TFDGUIxWaitCursor {簡單幾行代碼, 就呈現了 FDDemo.sdb 中的 Orders 表中的資料} procedure TForm1.FormCreate(Sender: TObject); begin FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Add('Database=C:\Temp\FDDemo.sdb'); FDQuery1.Connection := FDConnection1; DataSource1.DataSet := FDQuery1; DBGrid1.DataSource := DataSource1; FDQuery1.SQL.Text := 'SELECT * FROM Orders'; // SQLite 非常好地支持了 SQL92 標準, 目前被忽略的僅有: http://www.sqlite.org/omitted.html FDConnection1.Open(); FDQuery1.Open(); DBGrid1.Align := alClient; end;
效果圖:
{稍稍變通一下代碼} procedure TForm1.FormCreate(Sender: TObject); begin // FDConnection1.ConnectionString := 'DriverID=SQLite; Database=C:\Temp\FDDemo.sdb'; // 可代替下面兩行 FDConnection1.Params.Add('DriverID=SQLite'); // 同 FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Add('Database=C:\Temp\FDDemo.sdb'); FDQuery1.Connection := FDConnection1; DataSource1.DataSet := FDQuery1; DBGrid1.DataSource := DataSource1; FDQuery1.SQL.Text := 'SELECT * FROM Orders'; FDConnection1.Connected := True; FDQuery1.Active := True; DBGrid1.Align := alClient; end; {再變通一下} procedure TForm1.FormCreate(Sender: TObject); begin FDQuery1.Connection := FDConnection1; DataSource1.DataSet := FDQuery1; DBGrid1.DataSource := DataSource1; FDConnection1.Open('DriverID=SQLite;Database=C:\Temp\FDDemo.sdb'); FDQuery1.Open('SELECT * FROM Orders'); DBGrid1.Align := alClient; end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/311.html
標籤:Delphi
