退貨數量出現stack overflow |
尚未結案
|
ppjuns123
一般會員 發表:1 回覆:1 積分:0 註冊:2010-06-13 發送簡訊給我 |
我得此form 是設計成上面是進貨主檔、下面是進貨明細,兩者作mastersource 我的想法是讓使用者去選擇他想退哪筆進貨訂單裡的產品(目前只能刪除單筆) 可是直行時卻出現stack overflow 讓我傷腦筋 麻煩各位大大能盡快幫我想這個問題 因為再過2~3天就要交了... 我會很感激你們的!! [code delphi] procedure TForm10.BitBtn5Click(Sender: TObject); // 我在edit2.text 打欲退數量 ado.ADOpurdetail.Edit; ado.ADOpurdetail.FieldByName('數量').AsInteger := a; ado.ADOpurdetail.post; end; procedure TForm10.BitBtn6Click(Sender: TObject); // 退貨單筆紀錄 begin Found:=ado.adopurdetail.Locate('產品編號',edit1.Text,[lopartialkey]); // 以下是讓這些物件隱藏及顯示 label3.visible := false; label4.visible := false; combobox1.visible := false; edit1.visible := false; bitbtn6.Visible := false; label5.visible := true; edit2.visible := true; bitbtn5.Visible := true; end; end;[/code] |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
1.是否有去查證發生 stack overflow 是在那一段程式?
2.拿掉 bookmark 的用法, 改用其他方式試試看 ===================引 用 ppjuns123 文 章=================== 我得此form 是設計成上面是進貨主檔、下面是進貨明細,兩者作mastersource 我的想法是讓使用者去選擇他想退哪筆進貨訂單裡的產品(目前只能刪除單筆) 可是直行時卻出現stack overflow 讓我傷腦筋 麻煩各位大大能盡快幫我想這個問題 因為再過2~3天就要交了... 我會很感激你們的!! [code delphi] procedure TForm10.BitBtn5Click(Sender: TObject);?//?我在edit2.text 打欲退數量 ? ado.ADOpurdetail.Edit; ? ado.ADOpurdetail.FieldByName('數量').AsInteger := a; ? ado.ADOpurdetail.post; end; procedure TForm10.BitBtn6Click(Sender: TObject);??? //?退貨單筆紀錄 ? begin ??? Found:=ado.adopurdetail.Locate('產品編號',edit1.Text,[lopartialkey]);? //?以下是讓這些物件隱藏及顯示 ??? label3.visible := false; ??? label4.visible := false; ??? combobox1.visible := false; ??? edit1.visible := false; ??? bitbtn6.Visible := false; ??? label5.visible := true; ??? edit2.visible := true; ??? bitbtn5.Visible := true; ? end; end;[/code] ? |
smallfox
高階會員 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
|
ppjuns123
一般會員 發表:1 回覆:1 積分:0 註冊:2010-06-13 發送簡訊給我 |
你們說的沒錯就是以下這兩行程式的問題。 因為資料庫很多筆資料,一直做加總,且主檔的總金額也需要靠這兩行做累加 我還設定當一筆資料改變總額就要跟著變,也就是這兩行都要一直跑、一直呼叫,所以才stack overflow吧!! 謝謝你們,以解決了。 [code delphi] procedure TADO.ADOorddetailCalcFields(DataSet: TDataSet); //訂貨明細 begin // adoorddetail.FieldByName('小計').asinteger := adoorddetail.FieldByName('單價').AsInteger * adoorddetail.FieldByName('數量').AsInteger - adoorddetail.FieldByName('折扣').AsInteger; end; procedure TADO.ADOpurdetailCalcFields(DataSet: TDataSet); //進貨明細 begin // adopurdetail.FieldByName('小計').asinteger := adopurdetail.fieldbyname('成本').AsInteger * adopurdetail.fieldbyname('數量').AsInteger ; end;[/code] |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |