dw_1.update(true,false)方法的功能是什么
uj5u.com熱心網友回復:
dwcontrol A reference to a DataWindow control, DataStore, or child DataWindow.accept
(optional) A boolean value specifying whether the DataWindow control or DataStore should automatically perform an AcceptText prior to performing the update:?TRUE ?(Default) Perform AcceptText. The update is canceled if the data fails validation.?FALSE ?Do not perform AcceptText.
resetflag
(optional) A boolean value specifying whether dwcontrol should automatically reset the update flags:?TRUE ?(Default) Reset the flags.?FALSE ?Do not reset the flags.
---------------------------------
F1 Help
接收datawindow 中輸入的資料,但是不更新狀態。 一般用于多表更新,等所有表的資料都更新成功后,用dw_1.ResetUpdate ( ) 重置dw_1.的狀態。
uj5u.com熱心網友回復:
第一個true 意思就是dw_1.accepttext()第二個False 意思是重置標志為False
uj5u.com熱心網友回復:
dw_1.update(true,false)方法的功能是什么第一個引數就是accepttext,這個沒什么好說的,接受輸入的資料。
第二引數是關鍵。設為false,即使沒有去修改資料,如果再次點擊保存,datawindow還會提交更新陳述句。即不修改資料的狀態,資料狀態共有4種,新增;新增并修改;修改;未修改。
其中新增并修改 對應 insert操作 ;修改 對應update操作
跑題了。。。
uj5u.com熱心網友回復:
dw_1.update(true,false)方法的功能是什么第一個引數:accepttext
第二引數是:resetflag
單個資料視窗的時候,直接update沒啥問題的;多個資料視窗時,一定要注意了,看看下面的翻譯:
If you are updating multiple DataWindow controls or DataStores as part of one transaction, set the resetflag argument to false.
(作為一個事務的一部分,如果你準備更新多個資料視窗或者資料存盤,設定resetflag引數為false。)
This will prevent the DataWindow from "forgetting" which rows to update in case one of the updates fails.
(這個將會阻止資料視窗在某個資料視窗更新失敗的時候忘記了更新某些記錄。)
You can roll back, try to correct the situation, and update again.
(你可以回滾事物,設法修改狀態并且重新更新。)
Once all of the DataWindows have been updated successfully, use COMMIT to finalize the transaction and use ResetUpdate to reset the DataWindow's status flags.
(一旦所有的資料視窗都已經成功更新,使用COMMIT來完成這個事務,同時使用resetupdate來重置資料視窗的狀態標志。)
If you call Update with the resetflag argument set to false and do not call ResetUpdate, the DataWindow will attempt to issue the same SQL statements again the next time you call Update.
(如果你呼叫了update同時設定了resetflag引數為false并且沒有呼叫ResetUpdate方法,當你再次update時候,此資料視窗將會再次執行相同的SQL語法。)
所以多資料視窗更新的時候還是要小心點的。
翻譯的不好別見笑!
uj5u.com熱心網友回復:
可以看帖:http://user.qzone.qq.com/94582975?ptlang=2052uj5u.com熱心網友回復:
http://user.qzone.qq.com/94582975?ptlang=2052uj5u.com熱心網友回復:
PB8去哪兒了貌似好久不見他了。
好奇怪哦。
uj5u.com熱心網友回復:
還是沒看懂update是啥意思?~~uj5u.com熱心網友回復:
145 Update()功能 功能 功能 功能 把資料視窗控制元件中所有資料修改 插入 洗掉 修改等 傳送到資料庫 從而
更新資料庫中的資料 Update()函式在更新資料庫之前會呼叫 AcceptText()函式把 漂浮
在當前行/列上的編輯框中的內容放入到資料視窗控制元件的緩沖區中
語法 語法 語法 語法 dwcontrol.Update ( { accept {, resetflag } } )
引數 引數 引數 引數 dwcontrol 資料視窗控制元件名
accept 可選項 boolean型別 指定資料視窗控制元件在更新資料庫之前是否自動
執行 AcceptText()的功能 把編輯框中的內容放置到緩沖區中 有效取值為
TRUE 預設值 執行 AcceptText()函式的功能 如果資料沒有通
過 有效性驗證 那么資料更新程序被取消
FALSE 不執行 AcceptText()函式的功能
resetflag 可選項 boolean 型別 指明更新資料庫后是否自動復位更新標志
有效取值為
TRUE 預設值 復位更新標志
FALSE 不復位更新標志
回傳值 回傳值 回傳值 Integer 函式執行成功時回傳 1 發生錯誤時函式回傳-1 如果任何引數的值
為 NULL 則 Update()函式回傳 NULL
用法 用法 用法 用法 在執行 Update()函式之前 必須使用 SetTrans()或 SetTransObject()函式建立資料
視窗與資料庫的連接 使用SetTransObject()函式建立連接時 應用程式的運行效率更高些
但應用程式本身需要負責事務的提交 使用 SQL COMMIT 陳述句 和回滾 使用 SQL
ROLLBACK
執行了 Update()函式后 應該檢查該函式的回傳值 以判斷函式的執行是否成功 除
此之外 還應該檢查事務物件 當然是資料視窗正在使用的事務物件 的 SQLNRows屬性
這個屬性指示修改操作影響到了多少行 由于該屬性的值由資料庫廠商提供 因此 該屬
性值的意義對不同的DBMS 可能不同
預設情況下 資料庫成功更新后 Update()函式自動復位更新標志 但是 為了某種
目的 應用程式也可以不讓 Update()函式自動復位更新標志 此時 需要將 resetflag 引數
設定為 FALSE 這樣 Update()檔函式執行結果滿意后 你可以呼叫 ResetUpdate()函式清
除更新標志 需要注意的是 要想讓應用程式控制事務的提交與回滾 必須使用
SetTransObject()建立資料視窗與資料庫的連接
Update()函式可能觸發資料視窗控制元件的下述事件
z DBError
z SQLPreview
z UpdateEnd
z UpdateStart
如果Update()執行AcceptText()函式的功能 那么 Update()函式還可能觸發下述事件
z ItemChanged
z ItemError
示例 示例 示例 示例 1 下面的代碼把應用程式連接到資料庫上 使用 SetTransObject()函式設定資料
視窗使用的事務物件 進行了其他處理后 呼叫 Update()函式更新資料庫
CONNECT USING SQLCA;
dw_employee.SetTransObject(SQLCA)
. . . // 其他處理
dw_employee.Update()
這段代碼在更新資料庫前 完成 AcceptText()函式的功能 并復位資料視窗的更新標
志
示例 示例 示例 示例 2 下面的代碼與前面示例的功能相似 只是在更新資料庫之前不執行
AcceptText()函式的功能
CONNECT USING SQLCA;
dw_employee.SetTransObject(SQLCA)
. . . // 其他處理
dw_employee.Update(FALSE, TRUE)
示例 示例 示例 示例 3 下面的代碼與示例 1 的功能相似 區別在于執行了 Update()函式后 示例檢
查該函式的回傳值 并根據Update()的執行是否成功來執行COMMIT或ROLLBACK陳述句
integer rtn
CONNECT USING SQLCA;
dw_employee.SetTransObject(SQLCA)
rtn = dw_employee.Update()
IF rtn = 1 AND SQLCA.SQLNRows > 0 THEN
COMMIT USING SQLCA;
ELSE
ROLLBACK USING SQLCA;
END IF
uj5u.com熱心網友回復:
頂一下!uj5u.com熱心網友回復:
new4everlau翻譯的很不錯。有時間就漢化下PB12
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/86477.html
標籤:腳本語言
