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

SQL 語法, 有關Update

尚未結案
Code168
一般會員


發表:16
回覆:11
積分:5
註冊:2003-02-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-17 11:31:53 IP:202.175.xxx.xxx 未訂閱
多位大哥:     小弟編程經驗不足, 這是一個很簡單的問題.以下是一段源碼.    
 With DataAccess.DataVCD.ADOQuery1 do
               begin
                 Close;
                 SQL.Clear;
                 SQL.Add('Update User_Info');
                 SQL.Add('Set Password=:VarPassword');
                 Parameters.ParamByName('VarPassword').Value:=TempNewPWD;
                 SQL.Add('Where OID=:VarOID');
                 Parameters.ParamByName('VarOID').Value:=StrToInt(Usercode.Text);
                 If not prepared then prepared;
                 ExecSQL;
               end;
請問大哥門, 上面的update 使用方法對嗎? 因為我運行時, 出現"Update 陳述式的語法錯誤"請大哥請教. 1. 思考,放鬆,再思考! 2. 練習,學習,再練習! 3, 請教,改錯,再請教! 4. 創新,改進,再創新!
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-17 12:29:53 IP:203.204.xxx.xxx 未訂閱
Code168, 您好 我猜想應該是空格的問題, 請試試在每一行SQL.Add的最後加一個空格, 例如: 
SQL.Add('Update User_Info '); 
試試看 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-17 12:44:15 IP:218.16.xxx.xxx 未訂閱
哈,tech_state 版主果然頭腦清醒,剛才我看了很久還看不出來耶 讚!
Code168
一般會員


發表:16
回覆:11
積分:5
註冊:2003-02-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-17 14:22:21 IP:202.175.xxx.xxx 未訂閱
Tech_State大哥: 你好,你的方法試過,不行呀!為什麼呢? 像我之前這樣的寫法,在其他form可行呀!我又曾試用select的方法去賦值,但又出現dataset不在edit,insert狀態呀!請幫忙... 1. 思考,放鬆,再思考! 2. 練習,學習,再練習! 3, 請教,改錯,再請教! 4. 創新,改進,再創新!
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-17 15:19:07 IP:203.204.xxx.xxx 未訂閱
引言: Tech_State大哥: 你好,你的方法試過,不行呀!為什麼呢? 像我之前這樣的寫法,在其他form可行呀!我又曾試用select的方法去賦值,但又出現dataset不在edit,insert狀態呀!請幫忙... 1. 思考,放鬆,再思考! 2. 練習,學習,再練習! 3, 請教,改錯,再請教! 4. 創新,改進,再創新!
Code168, 您好 那不行就真看不出是哪裡有問題了。 不過如果您是用select的方法而出現dataset不在edit,insert狀態, 倒是可以解決, 就先做
ADOQuery1.Edit; 
最後再
ADOQuery1.Post; 
======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-19 22:20:04 IP:61.229.xxx.xxx 未訂閱
SQL.Add('Set Password=:VarPassword '); 也要多加一個空白。 不行的話用 ShowMessage(SQL.Text); 看看語法那裡有錯... 月夜 光明 藍更愁
------
月夜 光明 藍更愁
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-19 22:20:33 IP:61.229.xxx.xxx 未訂閱
SQL.Add('Set Password=:VarPassword '); 也要多加一個空白。 不行的話用 ShowMessage(SQL.Text); 看看語法那裡有錯... 月夜 光明 藍更愁
------
月夜 光明 藍更愁
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-19 23:25:00 IP:211.74.xxx.xxx 未訂閱
Code168 兄 你可以將SQL 指令先以EditBox 輸出,將此SQL 指令在你的資料庫端先行執行 看看語法與結果是否正確,可以先將問題原因切割,看看是那一端的問題 加油!    ps:我們tech_state 版主是小姐喔~~這個很重要  < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=8147403&CC=182217"> 發表人 - ddy 於 2003/05/19 23:27:03
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-20 00:29:34 IP:218.165.xxx.xxx 未訂閱
Code168兄,您試看看小弟測試的code.    with dataaccess.datavcd.adoquery1 do begin   close;   sql.clear;   sql.add('UPDATE User_Info SET Password="'+TempNewPWD+'" WHERE OID="'+StrToInt(Usercode.Text)+'"');   execsql; end;    小小淺見
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-20 08:28:58 IP:61.155.xxx.xxx 未訂閱
如果您使用的是ADO,请将你的连接方式改为ODBC实验一下: "Provider=MSDASQL.1;Persist Security Info=False;Data Source=a"    供参考!    风花雪月 e梦情缘
------
风花雪月 e梦情缘
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-05-22 13:28:28 IP:61.221.xxx.xxx 未訂閱
Code168, 您好 又重新看了一下您的code, 結果想到一個問題, 不知道會不會是因為Password是關鍵字的關係, 所以才會造成問題, 請試試把Password這個欄位改一下, 後面加個s改為Passwords試試看吧!    ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
Code168
一般會員


發表:16
回覆:11
積分:5
註冊:2003-02-11

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-05-23 09:27:27 IP:202.175.xxx.xxx 未訂閱
各位IT界前輩: 非常感謝大家的熱情幫,之前為了一時之快,我使用了Select的方法解決了問題,但今天看了Tech_State小姐的提醒,我把這一句改了就行了. SQL.Add('Set User_Info.Password=:VarPassword'); Tech_State小姐真偉大呀!替我找出了原因,謝謝...! 我未有想女孩子都那麼喜歡玩編程的!下次要請教時,我要改口稱呼為"偉大的先生或女仕們"! 哈哈...非常感謝大家的幫忙! 1. 思考,放鬆,再思考! 2. 練習,學習,再練習! 3, 請教,改錯,再請教! 4. 創新,改進,再創新!
系統時間:2024-06-27 1:04:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!