Delphi ADOQuery連線資料庫的查詢、插入、刪除、修改
阿新 • • 發佈:2018-12-13
//查詢記錄
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
ADOQuery
.
Close;
ADOQuery
.
SQL
. Clear;
ADOQuery
.
SQL
.
Add(
'select * from YourTABLE where 查詢條件'
);
ADOQuery
.
Open;
//插入記錄
procedure TForm1
.
Button2Click(Sender: TObject);
begin
ADOQuery
.
Close;
ADOQuery
.
SQL
.
Clear;
ADOQuery
.
SQL
. Text:=
'insert into YourTABLE(欄位1,欄位2) values(:欄位1,:欄位2)'
;
// ADOQuery.SQL.Add('insert into YourTABLE values(:欄位1)');
ADOQuery
.
Parameters
.
ParamByName(
'欄位1'
).Value:=trim(Edit1
.
Text);
ADOQuery
.
Parameters
.
ParamByName(
'欄位2'
).Value:=trim(Edit2
.
Text);
ADOQuery
.
ExecSQL;
end
;
//刪除記錄
procedure
TForm1
.
Button3Click(Sender: TObject);
begin
ADOQuery
.
Close;
ADOQuery
.
SQL
.
Clear;
ADOQuery
.
SQL
.
Text:=
'Delete from YourTABLE where 欄位3=:欄位3'
;
//這裡沒有新增where的條件判斷,實際使用時,注意新增判斷
// ADOQuery.SQL.Add('Delete from NEW_TABLE where 欄位3=:欄位3');
ADOQuery
.
Parameters
.
ParamByName(
'欄位3'
).Value:=trim(Edit3
.
Text);
ADOQuery
.
ExecSQL;
//刪除記錄也可用DeleteRecords()函式
procedure
DeleteRecords(AffectRecords: TAffectRecords = arAll);
這個函式有一個引數:AffectRecords可以取如下的值:
1
、arCurrent :刪除當前記錄
2
、arFiltered :刪除符合Filter過濾後的所有記錄(如果你使用Filter過濾的話)
3
、arAll :刪除所有記錄
4
、arAllChapters :Delete affects all chapters(ADO chapters)
//修改記錄
procedure
TForm1
.
Button4Click(Sender: TObject);
begin
ADOQuery
.
Close;
ADOQuery
.
SQL
.
Clear;
ADOQuery
.
SQL
.
Text:=
'Update YourTABLE SET 欄位4=:欄位4'
;
//這裡沒有新增where的條件判斷,實際使用時,注意新增判斷
// ADOQuery.SQL.Add('Update YourTABLE SET 欄位4=:欄位4');
ADOQuery
.
Parameters
.
ParamByName(
'欄位4'
).Value:=trim(Edit4
.
Text);
ADOQuery
.
ExecSQL;
//即時更新插入、刪除、修改後的記錄
在上面插入、刪除、修改的語句後新增如下程式碼即可:
ADOQuery
.
Close;
ADOQuery
.
SQL
.
Add(
'select * from YourTABLE where 查詢條件'
);
ADOQuery
.
Open;
//使用ADOQuery時注意:
|
1、如果你需要更改資料,query.requestlive必須為true
2、如果有輸入引數的時候,容易出錯,通常的錯法是這樣:
比如:“WHERE abc = : abc”
改正如下:“WHERE abc=:abc”就是說=:前後都不能留空格。
3、ADOQuery.Open與ADOQuery.ExecSQL 有不同之處。
ADOQuery.Open一般用在查詢,select時候;而ADOQuery.ExecSQL用在insert,delete,update等。