線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:823
推到 Plurk!
推到 Facebook!

刪除多筆資料

尚未結案
sun_chih_yen
一般會員


發表:40
回覆:33
積分:13
註冊:2003-10-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-24 13:19:31 IP:211.74.xxx.xxx 未訂閱
都會出現錯誤我的程式碼對嗎???? procedure TForm1.SpeedButton17Click(Sender: TObject); var aaa,bbb:string; begin messagedlg('連續資料被刪除 !!!',mtwarning,[mbok],0); aaa:=inputbox('刪除多筆資料','起始資料',''); bbb:=inputbox('刪除多筆資料','未筆資料',''); datamodule2.ADODataSet1.Close; datamodule2.ADODataSet1.commandtype:=cmdtext; datamodule2.ADODataSet1.CommandText:=''; datamodule2.ADODataSet1.CommandText:='delete from 客戶資料 where 客戶編號 between ' aaa ' and ' bbb; datamodule2.ADODataSet1.CommandText:=''; datamodule2.adodataset1.CommandText:='select * from 客戶資料'; datamodule2.ADODataSet1.Open; end;
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-24 14:31:45 IP:63.84.xxx.xxx 未訂閱
您好﹗    ADODataSet不支援無回傳資料的SQL語法﹐如Delete, Update, Insert, Drop, Alter等等﹐只能做單純的Select查詢語法之用﹐請將ADODataSet換成ADOQuery或者ADOCommand元件﹒以下以ADOQuery元件為例﹒    將您的程式碼修改如下﹕
Procedure TForm1.SpeedButton17Click(Sender: TObject);
Var 
  aaa, bbb : string;
begin
  Messagedlg('連續資料被刪除 !!!',mtwarning,[mbok],0);
  aaa:=inputbox('刪除多筆資料','起始資料','');
  bbb:=inputbox('刪除多筆資料','未筆資料','');
  Datamodule2.ADOQuery1.Close;
  Datamodule2.ADOQuery1.Text := 'delete from 客戶資料 where 客戶編號 between ''' aaa ''' and ''' bbb '''';
  Datamodule2.ADOQuery1.ExecSQL;//執行Delete
  //此處一個注意的地方﹐就是客戶編號欄位須為字串形態欄位
  Datamodule2.ADOQuery1.Close;
  Datamodule2.ADOQuery.Text:='select * from 客戶資料';
  Datamodule2.ADOQuery.Open;
end;
之前您有問過ADOQuery.ExecSQL;是什么意思﹐回覆如下﹕ ADOQuery有兩個執行方法﹐一個是Open﹐一個是ExecSQL﹒ Open是用作Select查詢語法之后﹐開啟資料表﹐即有回傳之資料﹒ ExecSQL是用作于無回傳資料語法之后(如Delete, Update, Insert等)﹐執行方法后﹐無資料回傳﹐直接對資料表進行異動﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/10/24 14:42:09
------
忻晟
系統時間:2024-06-22 18:56:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!