VB.NET數據行處理執行方法分析
VB.NET開發語言的出現為我們帶來了很多好處。尤其是在代碼編寫方面為開發人員提供了一個良好的編寫方式,提高編程效率。我們今天將要為大家介紹的是VB.NET數據行處理的相關操作技巧,希望對大家有所幫助。
Windows窗體中的數據綁定列表框和組合框很節省時間。典型的VB.NET數據行處理代碼如下(假定已經建立了SqlDataAdapter或者其它部件獲取數據):
- Dim ds As New DataSet()
- SqlDataAdapter1.Fill(ds,
"Customers")- ListBox1.DataSource =
ds.Tables("Customers")- ListBox1.DisplayMember =
"CompanyName"- ListBox1.ValueMember =
"CustomerID"
在這種情況下,VB.NET數據行處理的代碼使用Northwind數據庫的顧客記錄工作。DisplayMember屬性設置為你希望用戶在列表框中看到的記錄字段,它是customers表的CompanyName.通常ValueMember屬性設置為數據表中的一個鍵字段,對于customer來說是CustomerID.一旦用戶選擇了列表框中的一行,很容易使用列表框的SelectedValue屬性獲得鍵字段:
- MsgBox(ListBox1.
SelectedValue)
但是有可能需要一個與被選擇項相關的整個數據行對象的引用。例如,如果被選擇的行需要被刪除,就不知道鍵了。你需要一個數據行的引用以使用Delete方法。
典型的Visual Basic開發者通常這樣想:"我已經得到了該行的鍵了,我將編寫一些邏輯來查找使用該鍵的行".這樣可以實現,但是有更好的實現方法。可以使用一行代碼獲取與列表框中選項關聯的數據行:
- Dim dr As DataRow =
CType(ListBox1.Selected
Item, DataRowView).Row
通常該VB.NET數據行處理的邏輯不會憑直覺出現,即使對經驗豐富的開發者。為了解釋這是怎樣實現的,我把上面的一行拆成幾行,下面的代碼與上面代碼的功能相同:
- Dim drv As DataRowView
- drv = CType(ListBox1
.SelectedItem,
DataRowView)- Dim dr As DataRow
- dr = drv.Row
DataRowView類是數據行的包裝,它被多個Windows窗體控件使用。它使得顯示與控件中的數據行相關的數據更加容易。當列表框被數據綁定到數據表時(假定列表框中的有些行當前被選定了),列表框的SelectedItem屬性保存了一個DataRowView對象。#t#
這意味著我們能把列表框的SelectedItem屬性轉換到DataRowView對象,這就是上面代碼中的第二行實現的。接著DataRowView暴露一個Row屬性,它指向被包裝的數據行。上面的代碼聲明了一個數據行并設置了Row屬性。
轉換對象的類型以訪問它的接口的技術在Visual Basic 6.0中不是經常使用,但是在Visual Basic .NET中這是經常的。有了上面的例子后,大多數有經驗的開發者迅速跟上了這種技術。
VB.NET數據行處理的引用(dr)可用于用任何方式維護行。訪問數據行中的任何特定字段是可行的。行中的數據可以被改變,能使數據行的Delete方法把該行標識為刪除,或者從數據表的行集合中刪除該行。下面的代碼標識刪除了一行:
- dr.Delete()
使用主鍵(由ListBox.SelectedValue返回)查找下層數據行的方法需要很多代碼,要花很長時間,執行起來更慢。對于剛開始使用Visual Basic .NET的程序員來說花幾個小時編碼是很正常的。理解上面的技術節約了很多時間,更簡單、容易維護代碼。好了,VB.NET數據行處理具體的概念就為大家介紹到這里。