對話框的問題... |
答題得分者是:chih
|
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
procedure TForm1.Query1BeforeDelete(DataSet: TDataSet);
begin//刪除確認
if messagedlg('確定要刪除此筆記錄嗎?', mtinformation, [mbyes,mbno], 0)=mrno then abort;
end; procedure TForm1.Button1Click(Sender: TObject);
begin//首筆
Query1.First;
end; procedure TForm1.Button4Click(Sender: TObject);
begin//末筆
Query1.Last;
end; procedure TForm1.Button2Click(Sender: TObject);
begin//上筆
if Query1.bof = true then
button1click(sender)
else
Query1.Prior;
end; procedure TForm1.Button3Click(Sender: TObject);
begin//下筆
if Query1.Eof = true then
button4click(sender)
else
Query1.Next;
end; procedure TForm1.Button8Click(Sender: TObject);
begin//搜尋
query1.SQL.Clear;
query1.SQL.Add('SELECT Customer FROM "customer.DB" WHERE Customer LIKE ''%' Edit1.Text '%'' ORDER BY Customer');
end; procedure TForm1.Button5Click(Sender: TObject);
begin//新增
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
dbedit6.Text:='';
dbedit7.Text:='';
dbedit8.Text:='';
dbedit9.Text:='';
query1.Append;
dbedit1.SetFocus;
end; procedure TForm1.Button6Click(Sender: TObject);
begin//修改
Query1.ApplyUpdates;
dbedit1.SetFocus;
end; procedure TForm1.Button7Click(Sender: TObject);
begin//刪除
while not query1.Eof do
begin
query1.Delete;
query1.ApplyUpdates;
end;
end; procedure TForm1.Button9Click(Sender: TObject);
begin//儲存
try
Query1.Post;
Query1.ApplyUpdates;
Query1.CommitUpdates;
except
showmessage('儲存失敗');
end;
end; procedure TForm1.Button10Click(Sender: TObject);
begin//取消
query1.Cancel;
end; procedure TForm1.Button11Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('SELECT CustomerNO FROM "customer.DB" WHERE CustomerNO LIKE ''%' Edit2.Text '%'' ORDER BY CustomerNO');
end; 有請CHIH小小出馬....^^
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
Query1BeforeDelete 事件拿掉改為放在刪除按鈕按下時..
procedure TForm1.Button7Click(Sender: TObject);
begin//刪除
if messagedlg('確定要刪除此筆記錄嗎?', mtinformation, [mbyes,mbno], 0)=mrno then abort;
while not query1.Eof do
begin
query1.Delete;
query1.First;//<--這一句要改為這樣
end;
end;
TRY TRY SEE.
|
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
那是因為你原來的寫法就是把全部刪除阿...如果只是刪除一筆資料,改為這樣
procedure TForm1.Button7Click(Sender: TObject);
begin//刪除
if messagedlg('確定要刪除此筆記錄嗎?', mtinformation, [mbyes,mbno], 0)=mrno then abort
else
query1.Delete;
end;
TRY TRY SEE.
引言: CHIH小小,已用你的寫法試過了,按下"確認"後對話框是不見了,但整個DBGRID也被清掉了,而且重開後發現資料並未刪除,原因出在QUERY1.APPLYUPDATE改成QUERY1.FIRST,改回來後資料就確實刪除了,對話框也不見了,但重開後發現,整個資料庫的測試資料被一次砍光了@@ 我倆再一起想想吧~.......重建資料庫去~ |
nachi
初階會員 發表:40 回覆:116 積分:31 註冊:2003-02-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |