請各位看下面的代碼:
sqlca.autocommit=false
ls_sql = "update pub_users set f_password = 'aa' where f_usercode ='9999' "
execute immediate :ls_sql ;
rollback;
return 1
程式運行,我連接到我單機的資料庫上,執行正常,rollback后記錄沒有更新,我連接到服務器資料庫上,運行,記錄被更新了,rollback沒有起作用。為什么呀!這個問題困擾我幾天了,問了一些人,一直沒解決啊!!!
uj5u.com熱心網友回復:
只要是在連接時sqlca.autocommit=false 就應該沒問題
看看ODBC的配置吧!
uj5u.com熱心網友回復:
資料庫是sybase 12.5uj5u.com熱心網友回復:
rollback不回滾?看看其他配置的資訊,應該是某個細節沒有注意
uj5u.com熱心網友回復:
問題是我是同一個程式,不同的資料庫,程式都是一樣的啊!!!uj5u.com熱心網友回復:
請各位看下面的代碼:sqlca.autocommit=false
ls_sql = "update pub_users set f_password = 'aa' where f_usercode ='9999' "
execute immediate :ls_sql using sqlca;
if sqlca.sqlcode <> 0 then rollback;
commit;
你上面的代碼沒有提交事務啊
return 1
uj5u.com熱心網友回復:
你是用ODBC連接的資料庫嗎?看一下你ODBC資料源的設定,是否設定了斷開連接自動提交。uj5u.com熱心網友回復:
hanxianzhong,對啊,我就是沒有提交,可以記錄 也更新了!!!yohoo() 我不是用的odbc啊!我是用給事務sqlca符值,用connect連接資料庫!
uj5u.com熱心網友回復:
execute immediate :ls_sql ;是自動提交的,與sqlca.autocommit無關uj5u.com熱心網友回復:
動態SQL是自動提交的,與sqlca.autocommit無關uj5u.com熱心網友回復:
da21 是這樣的嗎?可是一樣的程式,為什么出兩樣的結果呢???今天測驗又發現,代碼第一次執行時,f_password 這個欄位做了更新,然后我清掉他,再執行,就不更新了!!!???我是在一個視窗的單擊事件里寫的代碼,程式里其他的視窗我也試了下,都是這樣,而我在選單里寫這段代碼,無論怎么執行,都是不更新的,也就理論上的結果 !!??
uj5u.com熱心網友回復:
對不起,我說錯了,應該是:動態SQL是自動提交的,與commit和rollback無關,但執行前要將sqlca.autocommit設為true,
以下為PB幫助檔案的例子及其說明:
兩個例子都不需要commit;
/*For SQL Server users : If you are connected to a SQL Server database, set AUTOCOMMIT to TRUE before executing the CREATE(執行前要設定AUTOCOMMIT 為 TRUE ).
*/
例1:
string Mysql
Mysql = "CREATE TABLE Employee "&
+"(emp_id integer not null,"&
+"dept_id integer not null, "&
+"emp_fname char(10) not null, "&
+"emp_lname char(20) not null)"
EXECUTE IMMEDIATE :Mysql ;
//These statements assume a transaction object named My_trans exists and is connected:
例2:
string Mysql
Mysql="INSERT INTO dept Values (1234, 'Purchasing')"
EXECUTE IMMEDIATE :Mysql USING My_trans ;
uj5u.com熱心網友回復:
%感謝 da21 %不好意思問一句,那個幫助是怎么找的?我在索引里只看到:
EXECUTE
EXECUTE SQL statement
都不是有關的,我用的是pb8
uj5u.com熱心網友回復:
又想到一個問題,在不同的資料庫下,執行的效果不一樣,是什么原因呢?uj5u.com熱心網友回復:
不明LZ在說什么轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/112165.html
標籤:數據庫相關
