2014年9月12日 星期五

[PowerBuilder] Data Pipeline 實作

Data Pipeline 是 PowerBuilder提供了一種便捷的方式,可以在同一個資料庫、不同的資料庫甚至是異質資料庫快速複製資料。

1、創建一個Data Pipeline
選擇[Database][Data Pipeline]

2013年7月16日 星期二

ROW_NUMBER 的用法



圖一:來源資料










注:date是varchar(10)


問題描述:
版號(VerNO) > 001就是有新增變更單
要判斷:
生效日期(Date)是否大於當天
大於今天取前一筆 版號 日期資料
小於等於就最新版號資料
沒變更單就用最初始版號資料

圖二:要得出的結果








2013年6月3日 星期一

[PowerBuilder] Window 用滑鼠滾輪滾動(非Datawindow)

在Window上使用滑鼠滾輪來移動Scroll Bar(不是Datawindow啦)。
沒想到,找半天找不到屬性可以設定,
到底有沒有地方可以設定對我來說還是個謎。
不知道是不是我眼殘腦殘。

2012年10月26日 星期五

[PowerBuilder] 建立無限多階 TreeView範例

利用TreeView Contol 建立 多階層TreeView

第一步:製作第一層
TreeViewItem ltvi_Item
integer li_Cnt, li_Rows
li_Rows = dw_emp.rowcount( )

For li_Cnt = 1 to li_Rows
//當emp_parentid為空值新增為ROOT
 if len(trim(dw_emp.Object.emp_parentid[li_Cnt]))>0 then continue
 SetPointer(HourGlass!)
 // Add a root for each department
 ltvi_Item.level=1 //ltvi_Item 在TreeView control 中的級別
 ltvi_Item.label = dw_emp.Object.emp_name[li_Cnt] //ltvi_Item的顯示資料
 ltvi_Item.data = dw_emp.Object.emp_id[li_Cnt] //ltvi_Item的內部資料
 ltvi_Item.pictureindex = 1 //ltvi_Item顯示的圖案編號
 ltvi_Item.selectedpictureindex = 2 //ltvi_Item被選中時顯示的圖案編號
 ltvi_Item.children = True //ltvi_Item是否有子項的標誌(+)
 tv_1.InsertItemLast(0, ltvi_Item) //將加入的ltvi_Item放在指定項的後面
Next

2012年10月16日 星期二

[PowerBuilder] 函數 多個Table同時更新函數

由於PowerBuilder的Update函數一次只能更新一個Table,
所以一旦要對多個Table同時更新,最簡單的方式是編寫SQL直接對Table寫入。
但是如果數量一多,效能似乎不太好。
可以利用這個函數改變datawindow  update的設定,達到多表更新的效果。

2012年10月5日 星期五

[MSSQL] 找出每個GROUP的第一筆

SELECT *
FROM (
 SELECT ROW_NUMBER() OVER(PARTITION BY [column2],[column3] ORDER BY [column1]) as rown,
 *
 FROM [TABLE1] ) AS T1
WHERE rown = 1