您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)VB.NET中怎么實現(xiàn)數(shù)據(jù)行處理操作,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時間。典型的VB.NET數(shù)據(jù)行處理代碼如下(假定已經(jīng)建立了SqlDataAdapter或者其它部件獲取數(shù)據(jù)):
Dim ds As New DataSet()
SqlDataAdapter1.Fill(ds,
"Customers")ListBox1.DataSource =
ds.Tables("Customers")ListBox1.DisplayMember =
"CompanyName"ListBox1.ValueMember =
"CustomerID"
在這種情況下,VB.NET數(shù)據(jù)行處理的代碼使用Northwind數(shù)據(jù)庫的顧客記錄工作。DisplayMember屬性設(shè)置為你希望用戶在列表框中看到的記錄字段,它是customers表的CompanyName.通常ValueMember屬性設(shè)置為數(shù)據(jù)表中的一個鍵字段,對于customer來說是CustomerID.一旦用戶選擇了列表框中的一行,很容易使用列表框的SelectedValue屬性獲得鍵字段:
MsgBox(ListBox1.
SelectedValue)
但是有可能需要一個與被選擇項相關(guān)的整個數(shù)據(jù)行對象的引用。例如,如果被選擇的行需要被刪除,就不知道鍵了。你需要一個數(shù)據(jù)行的引用以使用Delete方法。
典型的Visual Basic開發(fā)者通常這樣想:"我已經(jīng)得到了該行的鍵了,我將編寫一些邏輯來查找使用該鍵的行".這樣可以實現(xiàn),但是有更好的實現(xiàn)方法??梢允褂靡恍写a獲取與列表框中選項關(guān)聯(lián)的數(shù)據(jù)行:
Dim dr As DataRow =
CType(ListBox1.Selected
Item, DataRowView).Row
通常該VB.NET數(shù)據(jù)行處理的邏輯不會憑直覺出現(xiàn),即使對經(jīng)驗豐富的開發(fā)者。為了解釋這是怎樣實現(xiàn)的,我把上面的一行拆成幾行,下面的代碼與上面代碼的功能相同:
Dim drv As DataRowView
drv = CType(ListBox1
.SelectedItem,
DataRowView)Dim dr As DataRow
dr = drv.Row
DataRowView類是數(shù)據(jù)行的包裝,它被多個Windows窗體控件使用。它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易。當(dāng)列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(假定列表框中的有些行當(dāng)前被選定了),列表框的SelectedItem屬性保存了一個DataRowView對象。
輕松掌握VB.NET設(shè)置IP技巧
VB.NET數(shù)據(jù)類型概念剖析
VB.NET匿名類型可變與不可變之間區(qū)別
VB.NET編寫DEC加密程序?qū)嶋H操作技巧分享
VB.NET加密算法基礎(chǔ)概念解析
這意味著我們能把列表框的SelectedItem屬性轉(zhuǎn)換到DataRowView對象,這就是上面代碼中的第二行實現(xiàn)的。接著DataRowView暴露一個Row屬性,它指向被包裝的數(shù)據(jù)行。上面的代碼聲明了一個數(shù)據(jù)行并設(shè)置了Row屬性。
轉(zhuǎn)換對象的類型以訪問它的接口的技術(shù)在Visual Basic 6.0中不是經(jīng)常使用,但是在Visual Basic .NET中這是經(jīng)常的。有了上面的例子后,大多數(shù)有經(jīng)驗的開發(fā)者迅速跟上了這種技術(shù)。
VB.NET數(shù)據(jù)行處理的引用(dr)可用于用任何方式維護(hù)行。訪問數(shù)據(jù)行中的任何特定字段是可行的。行中的數(shù)據(jù)可以被改變,能使數(shù)據(jù)行的Delete方法把該行標(biāo)識為刪除,或者從數(shù)據(jù)表的行集合中刪除該行。下面的代碼標(biāo)識刪除了一行:
dr.Delete()
使用主鍵(由ListBox.SelectedValue返回)查找下層數(shù)據(jù)行的方法需要很多代碼,要花很長時間,執(zhí)行起來更慢。對于剛開始使用Visual Basic .NET的程序員來說花幾個小時編碼是很正常的。理解上面的技術(shù)節(jié)約了很多時間,更簡單、容易維護(hù)代碼。
上述就是小編為大家分享的VB.NET中怎么實現(xiàn)數(shù)據(jù)行處理操作了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。