這裏提供個另建 Transaction Object 的例子,PB 內使連接數據的話,一般都默認是使用 SQLCA 的,所以如果是另建的話呢,你都需要以「using <transaction>」或「DW.SetTransobject(<transaction>)」去指定 Transaction。什麼情況下需要另建呢?比方說連入權限管理數據庫檢查密碼、取得權限設定,或連上其他系統的數據作比較等等。
// 定義 Transaction
transaction ltr_obj
// Create transaction object
ltr_obj = create transaction
// 賦值
ltr_obj.DBMS = "SNC SQL Native Client(OLE DB)"
ltr_obj.LogPass = <***************>
ltr_obj.ServerName = "192.168.98.8"
ltr_obj.LogId = "sa"
ltr_obj.AutoCommit = False
ltr_obj.DBParm = "Database='addoil_test',Provider='SQLNCLI10'"
// 連接
connect using ltr_obj;
// 檢查連接結果
// sqlcode是數據庫反饋的錯誤代碼
// sqlerrtext 是數據庫反饋的報錯信息
if ltr_obj.sqlcode = -1 then
messagebox('SQL Error', ltr_obj.sqlerrtext)
return
end if
// 隨便查點東西測試一下啦~
select count(*)
into :li_rtn
from t_user
using ltr_obj;
messagebox('li_rtn', string(li_rtn))
// 用完就斷!絕情絕義的斷!
Disconnect using ltr_obj;