參數傳遞的小問題 |
答題得分者是:Justmade
|
mylmhxbc
一般會員 發表:2 回覆:2 積分:0 註冊:2003-04-23 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
mylmhxbc
一般會員 發表:2 回覆:2 積分:0 註冊:2003-04-23 發送簡訊給我 |
引言: 請教各位大大... 我以 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 呼叫 function calcTotal(GetInOut,GetItem : String) : Integer; 為什麼發生 Too many actual parameters.....Function TfmMyFood.calcTotal(GetInOut,GetItem : String) : Integer ; var sMoney : Integer; sDate : String; begin // 此段取得月初到今天 各項 總消費 sMoney := 0; sDate := sYear sMonth '0100' ; with qyTemp do begin close; SQL.Clear; SQL.Add('SELECT FoodNo,FoodDate,InOut,FoodSelect,FoodQty,FoodPrice'); SQL.Add('FROM Food'); SQL.Add('WHERE InOut = :InOut AND FoodSelect = :FoodSelect AND FoodNo >= :FoodNo'); ParamByName('InOut').AsString := GetInOut; ParamByName('FoodSelect').AsString := GetItem; ParamByName('FoodNo').AsString := sDate; Open; while not eof do begin sMoney := sMoney FieldByName('FoodQty').AsInteger; next; end; end; Result := sMoney; end; |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
mylmhxbc
一般會員 發表:2 回覆:2 積分:0 註冊:2003-04-23 發送簡訊給我 |
引言: 問題應出在呼叫那邊罷,若你確認 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 這句沒打錯且 Too many actual parameters 確定是出自這行那便真的怪怪的了... 另一個不相關的效率問題: 既然你使用 Params, SQL 本身沒變,應不用每次 Clear 再 Add, 只要重設 Param 後重開就可以了。 謝謝你.... 我知道錯在哪裡了... 這個程式是用現成的改的.. so 沒有注意到最上面定義function.. 本來是傳一個參數,, 後來又加了一 個.. 而最上行的定義忘了更改... |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |