在向大家詳細介紹VB.NET TextBox組件之前,首先讓大家了解下.Net FrameWork SDK,然后全面介紹VB.NET TextBox組件。VB.NET是沒有自己的類庫的,他依托的類庫是.Net FrameWork SDK中的類庫,雖然在.Net FrameWrok SDK中并沒有提供在Visual Basic中的的DbLabel、DbCombox等如此的數(shù)據(jù)庫組件,但.Net FrameWork SDK中提供了一種數(shù)據(jù)綁定技術(shù),可以把打開的數(shù)據(jù)表中的某個或者某些字段綁定到在命名空間System.Window.Forms中定義的 WinForm組件(譬如:TextBox組件、ComBox組件、Label組件等)中的某些屬性上,從而提供這些組件顯示出數(shù)據(jù)表中的記錄信息,也就實現(xiàn)了DbTextBox、DbCombox等組件。
本文就是來探討一下,如何在VB.Net中實現(xiàn)數(shù)據(jù)綁定。為了更清楚的說明問題,在討論綁定的時候,在數(shù)據(jù)庫的選擇上,不僅選用了本地數(shù)據(jù)庫Access 2000,而且也選用了遠程數(shù)據(jù)庫SQL Server 7.0。由于WinFrom組件比較多,但他們實現(xiàn)數(shù)據(jù)綁定的方法基本是一樣的,在本文中,選用了三個比較常用的WinForm組件為代表,即:TextBox組件、ComBox組件和ListBox組件。
一.數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu):
Access數(shù)據(jù)庫名稱為"Sample.mdb",里面定義了一張"books"的數(shù)據(jù)表,字段屬性為下表:
Sql Server 7.0的數(shù)據(jù)庫服務器名稱為"server1",數(shù)據(jù)庫名稱為"data1",在此數(shù)據(jù)庫中也有一張"books"表,字段的屬性同上。
二.程序設(shè)計和運行的環(huán)境設(shè)置:
◆視窗2000服務器版
◆Microsoft Data Acess Component 2.6 以上版本 ( MDAC 2.6 )
◆.Net FrameWrok SDK Beta 2版
三.對VB.NET TextBox組件進行數(shù)據(jù)綁定:
在整個數(shù)據(jù)綁定中,對不同的組件可以大致分為二類,一類是簡單型數(shù)據(jù)綁定,另外一種是復雜型數(shù)據(jù)綁定。簡單型的數(shù)據(jù)針對的對象是TextBox組件、 Label組件等,綁定后組件的顯示的記錄只有一條;而復雜型的針對對象是ListBox組件、TreeView組件等,往往綁定后顯示出來的記錄是比較多的。對于簡單型的數(shù)據(jù)綁定可以參考本文中VB.NET TextBox組件的綁定的過程。對于復雜型的綁定過程可以參考51CTO中的ComBox組件和ListBox組件的綁定過程。
其實無論是和中數(shù)據(jù)綁定,首先要打開指定的數(shù)據(jù)表,得到數(shù)據(jù)集。下面語句是打開Access數(shù)據(jù)庫中的"books"表,得到"myDataSet"數(shù)據(jù)集:
- '打開數(shù)據(jù)表,返回數(shù)據(jù)集
- public Sub GetConnected ( )
- '創(chuàng)建一個 OleDbConnection
- Dim strCon As String = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = ..\sample.mdb"
- Dim myConn As OleDbConnection = new OleDbConnection ( )
- myConn.ConnectionString = strCon
- Dim strCom As string = " SELECT * FROM books "
- '創(chuàng)建一個 DataSet
- myDataSet = new DataSet( )
- myConn.Open ( )
- '用 OleDbDataAdapter 得到一個數(shù)據(jù)集
- Dim myCommand As OleDbDataAdapter = new OleDbDataAdapter ( strCom , myConn )
- '把Dataset綁定books數(shù)據(jù)表
- myCommand.Fill ( myDataSet , "books" )
- '關(guān)閉此OleDbConnection
- myConn.Close ( )
- End Sub
【編輯推薦】