全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1130
推到 Plurk!
推到 Facebook!

關於我的刪除功能

答題得分者是:cashxin2002
tea15
初階會員


發表:64
回覆:72
積分:27
註冊:2005-06-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-27 09:57:30 IP:211.20.xxx.xxx 未訂閱
procedure TForm1.BitBtn3Click(Sender: TObject); begin query1.SQL.Clear; query1.SQL.Add('delete from PDLB'); query1.SQL.Add('where LBPDID ='''+query1.fieldbyname('LBPDID').AsString+''' '); query1.ExecSQL; query1.Close; query1.Open; query1.ApplyUpdates; query1.CommitUpdates; end; 你們好,以上是我寫的刪除功能… 我想要指標在哪一筆資料而做刪除動作…但還是會出錯,這是為什麼呢?
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-27 10:47:20 IP:202.62.xxx.xxx 未訂閱
您好﹗    很明顯的錯誤﹐因為您在下ExecSQL方法執行Delete語句后﹐Query1的SQL屬性值依然是之前設定的'Delete From PDLB Where....'﹐Delete語法是屬于無回傳值的SQL語法﹐當您再用Open方法來開啟時﹐自然就會出錯﹒    您是有使用CachedUpdates的功能嗎﹖不然不要使用ApplyUpdates和CommitUpdates方法﹐另外﹐如果單單是為了刪除當前筆的資料﹐可以直接使用資料集元件的Delete方法﹐更為方便及有效率﹐如下﹕
begin
  Query1.Delete;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/06/27 10:49:44
------
忻晟
tea15
初階會員


發表:64
回覆:72
積分:27
註冊:2005-06-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-27 11:19:05 IP:211.20.xxx.xxx 未訂閱
cashxin2002您好, 我試了你的方式,但卻出現如下的錯誤訊息…
cashxin2002
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-27 11:41:05 IP:202.62.xxx.xxx 未訂閱
您好﹗    把Query元件的RequestLive屬性值設為True試試﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
tea15
初階會員


發表:64
回覆:72
積分:27
註冊:2005-06-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-27 11:58:27 IP:211.20.xxx.xxx 未訂閱
嗯…果然忘了改成true… 呵呵~行了…謝謝你
tea15
初階會員


發表:64
回覆:72
積分:27
註冊:2005-06-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-27 13:47:23 IP:211.20.xxx.xxx 未訂閱
丫~我忘了還有一個小問題… 就是我在刪除前我希望能showmessage問使用者是不是確定要刪除…有yes和no的button可供使用者選擇,才進行是否要刪除... 但我只知道用showmessage('你確定要刪嗎?'); 也只有一個yes的button,該如何改咧?
cashxin2002
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-27 15:02:22 IP:202.62.xxx.xxx 未訂閱
您好﹗    參考如下﹕ 在Query1元件的BeforeDelete事件中﹕
begin
  if MessageDlg('您确定要刪除嗎﹖', mtConfirmation, [mbYes, mbNo], 0)
    = mrNo then
    Abort;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
tea15
初階會員


發表:64
回覆:72
積分:27
註冊:2005-06-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-28 08:22:28 IP:211.20.xxx.xxx 未訂閱
你好,我試出來了~ 謝謝您! 只是mtConfirmation是什麼意思呢? 是一個任意可變的數嗎? 那…0又代表什麼呢?    
引言: 您好﹗ 參考如下﹕ 在Query1元件的BeforeDelete事件中﹕
begin
  if MessageDlg('您确定要刪除嗎﹖', mtConfirmation, [mbYes, mbNo], 0)
    = mrNo then
    Abort;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
cashxin2002
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-28 09:05:55 IP:202.62.xxx.xxx 未訂閱
您好﹗    MessageDlg對話框常用于詢問使用者意見的訊息提示﹒ 語法﹕if MessageDialog (字串參數, 圖示參數, [按鈕組合參數], 線上輔助說明參數) = 回傳值參數    說明﹕ 字串參數﹕對話框中顯示的文字內容    圖示參數﹕對話框形態﹐有分為以下五種(mtWarning警告訊息﹔mtError錯誤訊息﹔mtInformation顯示訊息﹔ctConfirmation确認信息﹔mtCustom自定形態)    按鈕組合參數及對應的回傳值參數﹕有以下九組以供選擇 按鈕組合參數 <=> 回傳值參數 mbYes <=========> mrYes mbNo <==========> mrNo mbOK <==========> mrOK mbCancel <======> mrCancel mbAbort <=======> mrAbort mbRetry <=======> mrRetry mbIgnore <======> mrIgnore mbAll <=========> mrAll mbHelp <========> mrHelp    線上輔助參數﹕長整數(LongInt)形態﹐通常為0﹒    範例﹕
begin
  if MessageDlg('您确定要刪除嗎﹖', mtConfirmation, [mbYes, mbNo], 0)
    = mrNo then
    Abort;
end;
對照以上的說明﹐一個個將參數說明代入﹐您就會了解的﹒ ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-06-25 13:27:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!