先在空白表單上添加: TFDConnection、TFDPhysSQLiteDriverLink、TFDGUIxWaitCursor、TFDQuery、TDataSource、TDBGrid(並在設計時關聯好). 你也可以複製下面文字框中的內容, 然後直接往表單上貼, 以快速完成以上的添加過程: object DBGrid1: TDBGrid Left = 16 Top = 88 Width = 361 Height = 329 DataSource = DataSource1 TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'Tahoma' TitleFont.Style = [] end object FDConnection1: TFDConnection Left = 34 Top = 24 end object FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink Left = 143 Top = 24 end object FDGUIxWaitCursor1: TFDGUIxWaitCursor Provider = 'Forms' Left = 260 Top = 24 end object FDQuery1: TFDQuery Connection = FDConnection1 Left = 344 Top = 24 end object DataSource1: TDataSource DataSet = FDQuery1 Left = 420 Top = 24 end object Button1: TButton Left = 400 Top = 88 Width = 75 Height = 25 Caption = 'Button1' TabOrder = 1 OnClick = Button1Click end object Button2: TButton Left = 400 Top = 136 Width = 75 Height = 25 Caption = 'Button2' TabOrder = 2 OnClick = Button2Click end object Button3: TButton Left = 400 Top = 192 Width = 75 Height = 25 Caption = 'Button3' TabOrder = 3 OnClick = Button3Click end object Button4: TButton Left = 400 Top = 240 Width = 75 Height = 25 Caption = 'Button4' TabOrder = 4 OnClick = Button4Click end end
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Delphi/
代碼:
{建立}procedure TForm1.FormCreate(Sender: TObject);const dbPath = 'C:\Temp\SQLiteTest.sdb'; strTable = 'CREATE TABLE MyTable(Id integer PRIMARY KEY AUTOINCREMENT, Name string(10), Age byte)'; //Id, Name, Age 三個欄位 //integer PRIMARY KEY AUTOINCREMENT: 自增欄位begin if FileExists(dbPath) then DeleteFile(dbPath); FDConnection1.ConnectionString := 'DriverID=SQLite; Database=' + dbPath; FDConnection1.ExecSQL(strTable); FDQuery1.Open('SELECT * FROM MyTable');end;{插入}procedure TForm1.Button1Click(Sender: TObject);const strInsert = 'INSERT INTO MyTable(Name, Age) VALUES(:name, :age)'; //:name, :age 的方式(後面還要以數組的方式給出相應的值), 這比字串的 Format 函數還要方便.begin FDConnection1.ExecSQL(strInsert, ['AAA', 11]); FDConnection1.ExecSQL(strInsert, ['BBB', 22]); FDConnection1.ExecSQL(strInsert, ['CCC', 33]); FDConnection1.ExecSQL(strInsert, ['DDD', 44]); FDConnection1.ExecSQL(strInsert, ['EEE', 55]); FDQuery1.Refresh;end;{更新}procedure TForm1.Button2Click(Sender: TObject);begin FDConnection1.ExecSQL('UPDATE MyTable SET Age=:a WHERE Name=:n', [Random(100), 'AAA']); FDQuery1.Refresh;end;{刪除}procedure TForm1.Button3Click(Sender: TObject);begin FDConnection1.ExecSQL('DELETE FROM MyTable WHERE Age>33'); FDQuery1.Refresh;end;{查詢合格第一個結果}procedure TForm1.Button4Click(Sender: TObject);var V: Variant;begin V := FDConnection1.ExecSQLScalar('SELECT Age FROM MyTable WHERE Name = :x', ['BBB']); ShowMessage(V);end;