UPDATE失效問題 |
答題得分者是:herbert2
|
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
小弟遇上了一個問題,在DELPHI裡的QUERY給了一個UPDATE的SQL,
執行時開啟SQL MONITOR,並在執行中給予MESSAGE查看執行狀態, 一切正常,且SQL MONITOR中也顯示執行完畢,但卻沒有正確的UPDATE資料! 將該SQL語法COPY到PL/SQL中執行正常,卻能得到預期的結果 不曉得小弟在SQL MONITOR中所看到的執行狀態正常, 是否代表真的執行正常,只是被鬼偷改回去了= =? 以下是SQL MONITOR中顯示的狀態: [code delphi] 308 14:03:54 SQL Vendor: ORACLE - oopen 309 14:03:54 SQL Vendor: ORACLE - oparse 310 14:03:54 SQL Vendor: ORACLE - obndrvn 311 14:03:54 SQL Execute: ORACLE - update a set A1='Y' where 1=1 AND A2 = 'aaa' 312 14:03:54 SQL Vendor: ORACLE - oexec 313 14:03:54 SQL Data In: ORACLE - Rows affected = 1 314 14:03:54 SQL Stmt: ORACLE - Close 315 14:03:54 SQL Vendor: ORACLE - oclose 316 14:03:54 SQL Transact: ORACLE - XACT Commit 317 14:03:54 SQL Prepare: ORACLE - COMMIT WORK 318 14:03:54 SQL Vendor: ORACLE - oopen 319 14:03:54 SQL Vendor: ORACLE - oparse 320 14:03:54 SQL Execute: ORACLE - COMMIT WORK 321 14:03:54 SQL Vendor: ORACLE - oexec 322 14:03:54 SQL Stmt: ORACLE - Close 323 14:03:54 SQL Vendor: ORACLE - oclose 324 14:03:54 SQL Stmt: ORACLE - Reset 325 14:03:54 SQL Vendor: ORACLE - ocan 326 14:03:54 SQL Prepare: ORACLE - UPDATE b SET b1 = b1-1, b2 = sysdate WHERE b3='aaa' 327 14:03:54 SQL Vendor: ORACLE - oopen 328 14:03:54 SQL Vendor: ORACLE - oparse 329 14:03:54 SQL Vendor: ORACLE - obndrvn 330 14:03:54 SQL Execute: ORACLE - UPDATE b SET b1 = b1-1, b2 = sysdate WHERE b3='aaa' 331 14:03:54 SQL Vendor: ORACLE - oexec 332 14:03:54 SQL Data In: ORACLE - Rows affected = 1 333 14:03:54 SQL Stmt: ORACLE - Close [/code] 但由delphi執行後b1未 1,b2時間也未改 故一併附上該Query1的程式碼... [code delphi] with Query1 do begin close; sql.clear; SQL.add('UPDATE b ' ' SET b1 = b1 1,' ' b2 = sysdate ' ' WHERE b3=''' Edit.Text ''' '); execsql; end; [/code] 為何沒有COMMIT WORK???
------
永遠都是新手 編輯記錄
Reiji 重新編輯於 2008-10-30 14:40:47, 註解 無‧
|
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
SQL.add('UPDATE b SET b1 = b1 1, b2 = ' QuotedSte(sysdate ) ' WHERE b3= ' QuotedStr(trim(Edit.Text)));
你的時間是字串或日期格式吧? ===================引 用 Reiji 文 章=================== 但由delphi執行後b1未 1,b2時間也未改 故一併附上該Query1的程式碼... [code delphi] with Query1 do begin close; sql.clear; SQL.add('UPDATE b ' ' SET b1 = b1 1,' ' b2 = sysdate ' ' WHERE b3=''' Edit.Text ''' '); execsql; end; [/code] 為何沒有COMMIT WORK???
------
程式沒有這麼難 只是還沒打通其中要絕 |
pprayer
高階會員 發表:35 回覆:185 積分:174 註冊:2002-03-13 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
yang1217
一般會員 發表:2 回覆:5 積分:1 註冊:2008-02-07 發送簡訊給我 |
|
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |