2013年3月17日 星期日
[技巧] Using GetUpperBound(0) 取得儲存多筆Record的DataRow
Dim 病假() As DataRow = Me.MyCallForm.ds.Tables("attend").Select("type = '病假' and ym like '" & ComboBox1.Text & "%'")
For i As Integer = 0 To 病假.GetUpperBound(0)
MsgBox(病假(i)("ym") + 病假(i)("type"))
Next
備註:
Dim 病假() As DataRow = Me.MyCallForm.ds.Tables("attend").Select("type = '病假' and ym like '" & ComboBox1.Text & "%' and substring(ym,6,2) <= " & Integer.Parse(ComboBox2.Text) & "")
ym欄位的資料型態為nchar
資料內容為六位數的 "月份日期" 組合
201003
201201
201202
201203
201302
可運用 substring() 來進行分割搜尋...
從條件來看 假設 ComboBox1.Text = 2012 , ComboBox2.Text = 02
則DataTable.Select()的filter結果為
201201
201202
參考:
DataTable.Select 方法 (String)
[C#] Datatable.Select 的運算式用法
C# [轉載] Datatable.Select 的運算式用法
DataTable.Select()中的表达式可使用的函数
dataTable 的處理
Convert DataRow Array to DataTable, DataTable Filter function DataTable.Select return DataTable
DataTable Select Function (datarow 轉為 datatable)
SQL函數 查詢SQL資料欄位相符的字串
MSSql 中Charindex ,Substring的使用
CHARINDEX (Transact-SQL)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言