PIXNET Logo登入

PowerBuilder 風雲再起 - PowerBuilder 使用者家族

跳到主文

PowerBuilder 使用者家族在 Yahoo 家族已經成立 10 年了,承蒙各為家族成員的愛護與支持,讓 PowerBuilder 使用者家族日益茁壯。為了提供更好的服務品質,因此決定在 Pixnet 成立 PowerBuilder 使用者家族的部落格,擴充對家族成員的服務。

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 02 週四 201016:52
  • DataWindow object 與 DataWindow Control 的區別

Q:在 PowreBuilder 當中,有 Datawindow Object 與 DataWindow Control,請問這兩者如何區別?

A: Datawindow Object 可以把它想像成是相紙,Datawindow Control 可以把它想像成是相框。

Datawindow Control 可以在程式執行的時候隨時抽換不同的 DataWindow Object 顯示不同的資料。就好比一個相框隨時可以抽換不同的相紙顯示一般。

另外,Datawindow Control 有很多的 Event ,在不同的 Event 上面可以根據需要專顯不同的程式,DataWindow Object 上面試不可以寫程式的。

 

(繼續閱讀...)
文章標籤

PB 發表在 痞客邦 留言(0) 人氣(444)

  • 個人分類:Datawindow 物件
▲top
  • 8月 17 週二 201016:50
  • 經典的文章,關於PB Transaction

本貼來自昕晨論壇轉載
併發能力是指多用戶在同一時間對相同資料同時訪問的能力。一般的關係型數據庫都具有併發控制的能力,但是這種併發功能也會對資料的一致性帶來危險。試想若有兩個用戶都試圖訪問某個銀行用戶的記錄並同時要求修改該用戶的存款餘額時,情況將會怎樣呢?我們可以對PowerBuilder中的DataWindow進行設置來進行併發控制。所謂併發控制就是指在用戶資料修改的過程中保證該資料不被覆蓋或改變的方式,在下面的例子中我們將看到如何設置DataWindow來控制開發訪問。為了說明問題,我們舉這樣一個簡單的銀行系統中的例子,某用戶的存款狀況如右:

我們假設事情的經過是這樣的:公司的某員工在銀行前臺取款2,000元,銀行出納查詢用戶的存款資訊顯示銀行存款餘額20,000元;正在這時,另一銀行帳戶轉帳支票支付該帳戶5,000元,機器查詢也得到當前用戶存款20,000元,這時銀行的出納員看到用戶存款超過了取款額,就支付了客戶2,000元並將用戶存款改為18,000元,然後銀行的另一名操作員根據支票,將彙入的5,000元加上,把用戶的餘額改為25,000元,那麼資料庫管理系統是否可以接受這些修改呢?

在DataWindows的設計中,我們選擇功能表Rows|Update…,會出現SpecifyUpdateCharacteristics的設置視窗,在這個視窗中我們設置Update語句中Where子句的生成,以此來進行開發控制。在這裏有三個選項,我們分別看一看在本例中這三個選項的結果:

(1)Key Columns:生成的Where子句中只比較表中的主鍵列的值與最初查詢時是否相同來確定要修改的記錄。在上述的例子中,轉帳支票的操作將覆蓋出納員作出的修改,這樣銀行損失兩千元。
(2)Key and Updateable Columns:生成的Where子句比較表中主鍵列和可修改列的值與最初查詢時否是相同。在上例中兩次查詢出的結果都是有兩萬餘額,當第一個人修改餘額時,餘額仍是二萬元,所以修改成立,而支票轉帳操作時餘額已不是二萬,所以該列不匹配,修改失敗。

(3)Key and Modified Columns:Where子句比較主鍵和將要修改的列,在本例中,結果與Key and Updateable Columns的選擇相同,因為餘額已改變,不再與最初的查詢相同,因此仍然不能修改。

讓我們作另外一個假設,我們把銀行後臺作支票轉帳操作改為凍結用戶存款,即把狀態欄位的值改為凍結,而且事件發生的次序如下表,那麼表中的次序4…前臺出納的修改能不能成立呢:

1.Key Columns:Where子句只比較主鍵值,顯然出納員的修改是允許的。

2.Key and Updateable Columns:生成的Where子句包括比較所有可修改的列,因此出納修改時Statue欄位為凍結與出納查詢時的tive不符,修改失敗,同時顯示錯誤資訊。

3.Key and Modified Columns:Where子句的比較包括主鍵和要修改的列,由於本列中修改列仍為20,000元沒有變化,所以出納的修改可以成立。

在本例中,我們可以看到Key and Updateable Columns的選項最嚴格,可以避免出現狀態列發生改變時餘額作修改的錯誤,但是這也會禁止我們作一些本當允許的併發修改,如出納修改存款餘額,而業務員修改用戶的聯繫地址等。因此我們應當根據實際情況,選擇適當的Update設置。

(繼續閱讀...)
文章標籤

PB 發表在 痞客邦 留言(0) 人氣(218)

  • 個人分類:Datawindow 物件
▲top
1

個人資訊

PB
暱稱:
PB
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • ()如何動態變更 DW 中排序欄位
  • ()如何設定 DataWindow 中欄位有動態的屬性
  • ()從無到有,利用 PowerBuilder 開發一個完整WPF應用程式
  • ()如何利用 PowerBuilder 寄送 E Mail
  • ()PowerBuilder 12 免費線上教學
  • ()PowerBuilder 12 範例程式下載
  • ()共好影片 - 值得推薦的一部影片
  • ()PowerBuilder 12 共好 .NET 新書正式出版了
  • ()我與PowerBuilder不得不說的故事 - 仲偉豪
  • ()PowerBuilder 電子書參考

文章搜尋

文章分類

toggle PB程式設計 (3)
  • 學習資源 (25)
  • 函數(Function) (2)
  • PowerScript 程式撰寫 (12)
toggle PowerBuilder 新訊 (1)
  • PowerBuilder 12 (18)
toggle 資料庫應用 (4)
  • SQL (2)
  • Sybase (2)
  • MS SQL (1)
  • 資料庫連結 (1)
toggle 學習 PowerBuilder (3)
  • PowerBuilder 歷史 (6)
  • PowerBuilder 書籍 (9)
  • PowerBuilder 未來 (8)
toggle DataWindow 應用 (3)
  • Datawindow 控制元件 (3)
  • Datawindow 物件 (2)
  • Datawindow Script (5)
toggle PB 家族公佈欄 (2)
  • 部落格訊息 (8)
  • 活動訊息 (15)
  • 未分類文章 (1)

最新文章

    文章精選

    參觀人氣

    • 本日人氣:
    • 累積人氣: