Dim dsUserName As DataSet = spuErp.FillDataset(“tblAuthUser”)
‘增加 GroupID/UserID , GroupName/UserName的欄位
With dsUserName.Tables(0)
.Columns.Add(“Text”, GetType(String), “ISNULL(GroupName,’NoGroupID’)+’/’+UserName”)
[...]
Archive for 四月, 2008
30 四月
DataSet欄位運算-超好用
24 四月
取得樹狀結構節點(遞迴)
傳入123時,則回傳 |120|258|269|121|124|123.
使用時,才會利用Split(),拆成字串矩陣
123
120
121
258
269
124
‘判斷是否存在子節點
Dim Arranged() As String = CheckChildNode(MenuID).Split(“|”)
Private Function CheckChildNode(ByVal childMenuID As String) As String
Dim i As Integer = Me.uwtMenu.Find(childMenuID).Nodes.Count
Dim nodeTag As String = “”
If i = 0 Then
nodeTag += “|” & childMenuID
Else
For k As Integer = 0 To i – 1
Dim s As String = Me.uwtMenu.Find(childMenuID).Nodes.Item(k).Tag.ToString
nodeTag [...]
17 四月
XML與DataSet之間的關係
DataSet讀取XML File,請用ReadXML的方法。
DataSet存成XML File,請用WriteXML的方法。
DataSet物件亦能快速存成XmlDataDocument的物件。
在成為XmlDataDocument物件後,存成XML File時,請用Save的方法。
12 四月
執行緒(Threads)之於Win與Java之差異
Windows 程式設計中,不是每個程式員都需要使用到執行緒,但對 Java 的程式員來說,想寫出一個真正的 Java 程式,幾乎都會用到執行緒。 執行緒之所以在 Windows 和 Java 中的重要性不同,原因有二: • Windows 的 event-driven 方式和 Java 的 event model 不同: Windows 提供許多 non-blocking API、call-back function 機制;而早期 Java 的 API 都是 blocking 形式的,如果不想阻礙程式的進行,就必須使用執行緒。 • Windows 可以設定 timer(WM_TIMER 訊息),但早期 Java 不支援 timer ,必須利用執行緒來模擬 timer 。 除了上述兩點之外,下面列出兩點也需要使用執行緒的時機: • 某件工作如果獨立而冗長,使用執行緒可以讓使用者可以不用枯候,甚至有可能提升執行效率。 • 使用平行演算法時,也需要使用執行緒。 資料來源:http://www.oreilly.com.tw/column_sleepless.php?id=part05
11 四月
第五章 序列化 課程一 對物件進行序列化
重點摘要: 1.序列化是一個將資訊輚換成可被儲存或傳送的位元資料流之過程 2.將物件序列化的步驟 2.1建立一個資料流物件(Ex. FileStream) 2.2建立一個BinaryFormatter物件 2.3呼叫BinaryFomatter.Serialize方法 3.還原序列化一個物件的步驟 3.1建立一個資料流物件 3.2再建立一個BinaryFormatter物件 3.3再呼叫BinaryFormatter.Deserialize方法 4.若要建立一個可被序列化的類別,請加入Serializable屬性。 使用者也可以利用這個屬性停用某些成員的序列化功能。 5.SoapFormatter提供的序列化效率較低,但比較具有相互運作性,它是BinaryFormatter類別的替代方案。 6.使用SoapFormatter時,方法和步驟與BinaryFormatter一樣,但必須額外加入System.Runtime.Serialization.Formatters.Soap.dll的參考。 7.使用者也可以利用屬性指定序列化的項目名稱,以及指定某個成員是否可以被序列化為項目或屬性,以控制SoapFormatter之序列化。 8.即使不需立即使用到序列化功能,將所有類別均標示為可序列化是一個較好的作法。但是,最好關閉計算和暫存成員的序列化功能。
10 四月
Only accept integer’s ArrayList
<code> Public Class IntList Implements ICollection Implements IEnumerable Private _innerList as ArrayList = New ArrayList Public Sub Add(ByVal number as Integer) _innerList.Add(number) End Sub End Class </code>