你也可以复制下面文本框中的内容,然后直接往窗体上贴,以快速完成以上的添加过程:
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
代码:
@H_404_91@{建立} @H_404_91@procedure TForm1.FormCreate(Sender: TObject); @H_404_91@const dbPath = @H_404_91@'C:\Temp\sqliteTest.sdb'; strTable = @H_404_91@'CREATE TABLE MyTable(Id integer PRIMARY KEY AUTOINCREMENT,Name string(10),Age byte)'; @H_404_91@//Id,Name,Age 三个字段 @H_404_91@//integer PRIMARY KEY AUTOINCREMENT: 自增字段 @H_404_91@begin @H_404_91@if FileExists(dbPath) @H_404_91@then DeleteFile(dbPath); FDConnection1.ConnectionString := @H_404_91@'DriverID=sqlite; Database=' + dbPath; FDConnection1.Execsql(strTable); FDQuery1.Open(@H_404_91@'SELECT * FROM MyTable'); @H_404_91@end; @H_404_91@{插入} @H_404_91@procedure TForm1.Button1Click(Sender: TObject); @H_404_91@const strInsert = @H_404_91@'INSERT INTO MyTable(Name,Age) VALUES(:name,:age)'; @H_404_91@//:name,:age 的方式(后面还要以数组的方式给出相应的值),这比字符串的 Format 函数还要方便. @H_404_91@begin FDConnection1.Execsql(strInsert,[@H_404_91@'AAA',@H_404_91@11]); FDConnection1.Execsql(strInsert,[@H_404_91@'BBB',@H_404_91@22]); FDConnection1.Execsql(strInsert,[@H_404_91@'CCC',@H_404_91@33]); FDConnection1.Execsql(strInsert,[@H_404_91@'DDD',@H_404_91@44]); FDConnection1.Execsql(strInsert,[@H_404_91@'EEE',@H_404_91@55]); FDQuery1.Refresh; @H_404_91@end; @H_404_91@{更新} @H_404_91@procedure TForm1.Button2Click(Sender: TObject); @H_404_91@begin FDConnection1.Execsql(@H_404_91@'UPDATE MyTable SET Age=:a WHERE Name=:n',[Random(@H_404_91@100),@H_404_91@'AAA']); FDQuery1.Refresh; @H_404_91@end; @H_404_91@{删除} @H_404_91@procedure TForm1.Button3Click(Sender: TObject); @H_404_91@begin FDConnection1.Execsql(@H_404_91@'DELETE FROM MyTable WHERE Age>33'); FDQuery1.Refresh; @H_404_91@end; @H_404_91@{查询符合条件的第一个结果} @H_404_91@procedure TForm1.Button4Click(Sender: TObject); @H_404_91@var V: Variant; @H_404_91@begin V := FDConnection1.ExecsqlScalar(@H_404_91@'SELECT Age FROM MyTable WHERE Name = :x',[@H_404_91@'BBB']); ShowMessage(V); @H_404_91@end;