具體情況為,在pb9.0開發環境里用sqlca連接sql資料庫,sqlcb連接access資料庫。在開發環境下往access庫表寫入資料沒問題,做成exe后能連上aceess資料庫,就是沒法寫入資料。
代碼為:S
QLCB=create TRANSACTION
SQLCB.DBMS = "ODBC"
SQLCB.AutoCommit = False
SQLCB.DBParm = "ConnectString='DSN=TestLocal;UID='';PWD='''"
connect using SQLCB;
if SQLCB.sqlcode<0 then
messagebox("資料庫錯誤","不能連接到本地資料庫!TestLocal"+SQLCB.SQLErrtext)
end if
li_rowcount=8;
insert into dztable_info(table_num) values (:li_rowcount) using sqlcb;
commit;
在開發環境下插入資料沒問題,到exe就不行了,exe檔案夾下有需要的dll和其他檔案,實在不解求指教?
uj5u.com熱心網友回復:
commit using sqlcb;uj5u.com熱心網友回復:
樓上正解,應該是commint using sqlcb;還有,insert into陳述句后,應該及時判斷sqlcb.sqlcode的回傳值,以判斷成功與否
insert into dztable_info(table_num) values (:li_rowcount) using sqlcb;
if sqlcb.sqlcode<>0 then
MessageBox("提示","新增資料失敗:" + sqlcb.sqlerrtext)
rollback using sqlcb;
else
commit using sqlcb;
end if
uj5u.com熱心網友回復:
有可能在ODBC 配置頁上readonly 了uj5u.com熱心網友回復:
因為你連接dbparm中沒加CommitOnDisconnect='No',開發環境下你運行完并關閉,就自動提交了,
還有你的SQL執行完要commit using 事務;
注意事務名一定要正確
uj5u.com熱心網友回復:
commit默認的是SQLCA,要用其他的連接需要指定其名稱
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73431.html
標籤:數據庫相關
上一篇:PB資料累加
