A. delphi資料庫的增加,保存,刪除
1、控制項操作
一、增加數據:
adoquery1.append;
....相關數據...
adoquery1.updateBatch(arall);//數據保存
二、修改數據:
adoquery1.edit;
....相關數據...
adoquery1.updateBatch(arall);//數據保存
三、刪除數據:
adoquery1.delete;
四、取消
adoquery1.cancel;
2、sql語句
插入的sql語句
sql:='insert
into
表名(欄位1,欄位2,...)
values
(值1,值2,...)';
更新的sql語句
sql:='update
表名
set
欄位1=值1,欄位2=值2
where
條件';
刪除的sql語句
sql:='delete
表名
where
條件';
用ADOQuery1將命令發送到後台執行
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.ExecSQL;
B. DELPHI修改和刪除資料庫的數據的示例代碼
修改
Table1.Edit;
Table1.FieldValues ['xxxxxxxx']:=edit1.Text;
Table1.Post;
刪除
Table1.Delete;
刪除ID為1的數據有兩種方法:
1、遍歷數據集,取ID值,如果等於1刪除
while not table1.eof
begin
if table1.fieldbyname('id').value = 1 then
table1.delete;
table1.next;
end;
2、通過SQL語句來執行這個操作
query1.sql.text := 'delete from 表 where id = 1';
query1.execsql;
C. delphi 資料庫連接 修改資料庫中內容 求高手解答
用控制項都可以解決。
ADOCONNECTION+ADOQUERY+datasource+dbgrid ,通過修改adoquery中的SQL語句,執行後就可以修改內容。連接好後,也可以在dbgrid中修改。
adoconnection+adotable+datasource+dbgrid ,全部連接好後,可以直接在DBGRID中修改。
修改好後加入代碼:adoquery1.post 或adotable1.post 就保存成功。或用滑鼠換行後自動保存.
D. delphi怎麼修改access資料庫里的內容
方法1:
用異常判斷處理:
if trim(edit1.Text)='' then
begin
application.MessageBox('*****不能為空,請輸入***','提示',mb_ok);
edit1.SetFocus;
exit;
end;
try
ADOQuery1.FieldByName('會員姓名').AsString:=trim(Edit1.text);
^^^^^^^
^^^^^^^^^^
ADOQuery1.Post;
begin
application.messagebox('該****記錄已經成功添加入資料庫!' ,'保存成功',mb_ok);
end;
except
begin
application.MessageBox('出現異常錯誤。無法增加記錄!','出錯提示',mb_ok);
ADOQuery1.CancelUpdates;
close;
end;
end;
方法2:
點"修改"時:
with ADOQuery1 do
begin
Edit;
FieldByName('會員姓名').AsString :=trim(edit1.Text);
^^^^^^^
^^^^^^^^^^
end;
當你選中某條記錄的時候,ADOQUERY的指針是指向了某條記錄的,你可以直接用adoquery.eidt命令進行修改的了,不用再去查詢到你想要修改的記錄,然後才去修改其他欄位.
E. delphi中如何實現對sql資料庫記錄進行添加,刪除,修改
使用ADO,首先用ADOConnection對象建立連接,然後使用ADOQuery對象對資料庫進行操作。
ADOQuery對象操作:
查詢:先使用close;再設置SQL.text為SQL查詢語句內容;最後使用OPEN方法打開
添加:Append或Insert;FieldByName('欄位名').Value
:=
欄位內容;Post;
修改:Edit;FieldByName('欄位名').Value
:=
欄位內容;Post;
刪除:定位到指定記錄(使用循環);Delete;
F. DELPHI 怎樣通過修改DBGRID中的數據去修改資料庫
把DBGrid中的屬性中有一個Options中
dsEdit
選True,記得不要選dsRowselect
這個選項為True,否則的話,dsEdit
即使選True,也是無用的。
G. Delphi對access或SQL資料庫增刪查改的操作
procere TEmpManageForm_frm.Button1Click(Sender: TObject);
var
EMPID:string;
begin
if edit1.Text='' then
begin
showmessage('請輸入員工編號!');
exit;
end;
EMPID:=edit1.Text;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('select 員工編號 from 員工信息 where 員工編號='''+EMPID+'''');
DataMod.ado2.Open;
if DataMod.ado2.RecordCount >=1 then
begin
showmessage('該員工編號已存在!');
exit;
end;
try
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('insert into 員工信息 ');
DataMod.ado2.SQL.add('(員工編號,姓名,生日,性別,手機,籍貫,電話,郵編,地址,身份證號,備注,密碼) Values (');
DataMod.ado2.SQL.add(''''+edit1.Text+''',');
DataMod.ado2.SQL.add(''''+edit2.Text+''',');
DataMod.ado2.SQL.add(''''+datetostr(DateTimePicker1.DateTime)+''',');
DataMod.ado2.SQL.add(''''+edit4.Text+''',');
DataMod.ado2.SQL.add(''''+edit5.Text+''',');
DataMod.ado2.SQL.add(''''+edit6.Text+''',');
DataMod.ado2.SQL.add(''''+edit7.Text+''',');
DataMod.ado2.SQL.add(''''+edit8.Text+''',');
DataMod.ado2.SQL.add(''''+edit12.Text+''',');
DataMod.ado2.SQL.add(''''+edit11.Text+''',');
DataMod.ado2.SQL.add(''''+memo1.Text+''',');
DataMod.ado2.SQL.add(''''+edit9.Text+''')');
DataMod.ado2.ExecSQL;
Application.ProcessMessages;
showmessage('員工添加成功!');
DBGrid1.Refresh;
except
showmessage('添加員工時出現錯誤,請核對數據是否正確!');
end;
DBGrid1.Refresh;
Application.ProcessMessages;
DataMod.ado1.Close;
Application.ProcessMessages;
DataMod.ado1.SQL.Clear;
DataMod.ado1.SQL.add('select 員工編號,姓名,生日,性別,籍貫,地址,電話,手機,身份證號,郵編,備注 from 員工信息');
DataMod.ado1.Open;
Application.ProcessMessages;
DBGrid1.DataSource :=DataMod.DS1;
Application.ProcessMessages;
end;
//--------------------以上是添加操作----------------------//
//--------------------以下是刪除操作----------------------//
procere TEmpManageForm_frm.Button3Click(Sender: TObject);
var
EMPID:string;
begin
if edit1.Text ='' then
begin
showmessage('請選擇要刪除的員工!');
exit;
end;
EMPID:=edit1.Text;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('select 員工編號 from 員工信息 where 員工編號='''+EMPID+'''');
DataMod.ado2.Open;
if DataMod.ado2.RecordCount <=0 then
begin
showmessage('該員工編號不存在!');
exit;
end;
try
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('delete from 員工信息 where 員工編號='''+edit1.Text+'''');
DataMod.ado2.ExecSQL;
Application.ProcessMessages;
showmessage('員工刪除成功!');
DBGrid1.Refresh;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('delete from 員工許可權 where 員工編號='''+edit1.Text+'''');
DataMod.ado2.ExecSQL;
except
showmessage('刪除員工時出現錯誤,請核對數據是否正確!');
end;
DBGrid1.Refresh;
Application.ProcessMessages;
DataMod.ado1.Close;
Application.ProcessMessages;
DataMod.ado1.SQL.Clear;
DataMod.ado1.SQL.add('select 員工編號,姓名,生日,性別,籍貫,地址,電話,手機,身份證號,郵編,備注,解禁時間 from 員工信息');
DataMod.ado1.Open;
Application.ProcessMessages;
DBGrid1.DataSource :=DataMod.Ds1;
Application.ProcessMessages;
end;
H. delphi中如何修改已經查詢到的數據
這要看你用的是什麼資料庫,比如select
case
number
when
1
then
"1#車廂"
end
from
tabXXXACCESS是不能執行這條SQL語句的。還不如select
編號+'#車廂'
AS
車廂號
I. DELPHI修改資料庫的問題
很簡單~~需要三個循環~一個循環嵌套另外兩個~
1循環遍歷
2循環遍歷每個空區間的空值的個數
根據位置 計算 A
3循環給每個空區間的空值賦值
思路如下~
1 循環
先設置個變數表示游標位置 I
從第一個開始判斷這條記錄是不是空的
如果不空下一條
如果內容為空 進入第2個循環
游標 J記錄位置
判斷 I+1 這條記錄是不是空的
如果是空的下一條直到不是空的
記錄位置 J
2循環結束
根據位置計算 你說的 A值
3循環開始
給為空的位置賦值
賦值結束
3循環結束
1循環繼續從有值的位置開始(這樣比較塊些)
也可以繼續從I+1的位置繼續1循環因為此時下面的空值已經賦值了~
直到剛才那個空區間結束的下個空區間又會進入2循環
你看可以嗎?
J. delphi資料庫修改功能問題如下
通過窗體傳值實現,首先你記錄下dbgrid表格里你要修改的數據行的編號或者唯一值,在form3里可以設一個全局變數或者直接用控制項的屬性值來記錄這個值也行,例如我定義了一個全局變數str來記錄傳過來的這個編號
在form1的update控制項的click()事件里這么寫
form3.str:=form2.cxgrid.fieldsbyname('編號').asstring;
然後在form2的Onshow事件里可以寫查詢這個編號的數據
sql:='select*from表whereno='+str;
//接下來這里就繼續寫你的query過程
...
edtno.text:=query.fieldbyname('編號').asstring;
//剩下的就是你需要哪個欄位的數據就類似這么寫就行了