使用TUPDATESQL 的問題 |
答題得分者是:Mickey
|
水晶人
一般會員 發表:3 回覆:6 積分:1 註冊:2007-08-08 發送簡訊給我 |
開發環境:delphi 5 + sql server
已經作出了以下SETTING QUERY SETTING: CachedUpdates := true RequestLive := true updateObject := UpdateSQL UpdateSQL SETTING MODIFYSQL =update TEST_TABLE Set Code = :ws_code, Int = :ws_int,Str = :ws_str where id = :ws_id =================================================================================== 在程式碼的處理edit 數據的區段有以下code <textarea class="delphi" rows="10" cols="60" name="code">with Query do begin Edit; Params.ParseSQL(UpdateSQL.ModifySQL.Text,True); ParamByName('ws_id').AsInteger := ws_id; ParamByName('ws_str').AsString := ws_str; ParamByName('ws_code').AsInteger := ws_code; ParamByName('ws_int').AsInteger := ws_int; // ws_id, ws_str, ws_code, ws_int變數已經有相應形態既值 ApplyUpdates; <--- 執行到呢句就會出現錯誤訊息 Field 'ws_id' is of an unknown end; </textarea> 由於第一次使用TUPDATESQL,煩望各位指教,是否有任何語句在applyupdates 之前有所遺留請在此區域輸入程式碼 編輯記錄
水晶人 重新編輯於 2007-08-17 11:46:24, 註解 無‧
|
kevin2004
資深會員 發表:18 回覆:463 積分:416 註冊:2005-05-29 發送簡訊給我 |
|
水晶人
一般會員 發表:3 回覆:6 積分:1 註冊:2007-08-08 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
你好:
很久沒碰 BDE 了...應該是你 Field Name 與 Parameter Name 不相同...造成 Update SQL 無法正確判斷 TParam.Datatype 試試看: UpdateSQL SETTING MODIFYSQL =update TEST_TABLE Set Code = :Code, Int = :Int,Str = :Str where id = :id 1. with Query do 2. begin 3. Edit; 4. Params.ParseSQL(UpdateSQL.ModifySQL.Text,True); 5. ParamByName('id').AsInteger := ws_id; 6. ParamByName('Str').AsString := ws_str; 7. ParamByName('Code').AsInteger := ws_code; 8. ParamByName('Int').AsInteger := ws_int; 9. // ws_id, ws_str, ws_code, ws_int變數已經有相應形態既值 10. ApplyUpdates; <--- 執行到呢句就會出現錯誤訊息 Field 'ws_id' is of an unknown 11. end; |
水晶人
一般會員 發表:3 回覆:6 積分:1 註冊:2007-08-08 發送簡訊給我 |
thx for your reply first~~~
改左Field Name 與 Parameter Name同名~~ 唔會出 Field 'ws_id' is of an unknown type 既error message 不過做到query.applyupdate既時候都會出錯~~~update fails ===================引 用 Mickey 文 章=================== 你好: 很久沒碰 BDE 了...應該是你 Field Name 與 Parameter Name 不相同...造成 Update SQL 無法正確判斷 TParam.Datatype 試試看: UpdateSQL SETTING ??? MODIFYSQL =update TEST_TABLE?? Set? Code = :Code, Int = :Int,Str = :Str? where id? = :id ?? 1. with Query do? ?? 2. begin? ?? 3. Edit;? ?? 4. Params.ParseSQL(UpdateSQL.ModifySQL.Text,True);? ?? 5. ParamByName('id').AsInteger := ws_id;? ?? 6. ParamByName('Str').AsString := ws_str;? ?? 7. ParamByName('Code').AsInteger := ws_code;? ?? 8. ParamByName('Int').AsInteger := ws_int;? ?? 9. // ws_id, ws_str, ws_code, ws_int變數已經有相應形態既值? ? 10. ApplyUpdates; <--- 執行到呢句就會出現錯誤訊息 Field 'ws_id' is of an unknown? ? 11. end;? |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
水晶人
一般會員 發表:3 回覆:6 積分:1 註冊:2007-08-08 發送簡訊給我 |
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |