數據表單向導
Visual Studio .Net 數據表單向導允許您快速連接到數據庫,並生成簡單的用戶界面,用於顯示數據並與數據進行交互。要使用數據表單向導,請執行以下步驟:
在 Windows 應用程序項目中,在 Project(項目)菜單上,單擊 Add Windows Form(添加 Windows 窗體)。
在 Templates(模板)窗格中,單擊 Data Form Wizard(數據窗體向導),單擊 Open(打開),然後單擊 Next(下一步)。
在 Create a new dataset named(創建新數據集)框中,鍵入 DataSet1,然後單擊 Next(下一步)。
選擇現有的數據連接或創建新數據連接,然後單擊 Next(下一步)。
選擇要向 DataSet1 填充的項,然後單擊 Next(下一步)。
如果選擇多項,請定義各項之間的關系,然後單擊 Next(下一步)。
定義要在表單中顯示的表和列,然後單擊 Next(下一步)。
選擇顯示樣式選項,然後單擊 Finish(完成)。
注意:請確保將新數據表單設置為啟動表單,方法如下:在 Project(項目)菜單中,單擊 Properties(屬性)。展開 Common PropertIEs(通用屬性)文件夾,單擊 General(常規),在 Startup object(啟動對象)列表中選擇該數據表單,然後單擊 OK(確定)。
注意:請確保將 DataSet1 中的數據綁定到數據表單,這可以通過向數據表單的 Load 事件插入以下代碼來實現:Me.OleDbDataAdapter1.Fill(objDataSet1)
運行應用程序:在 Debug(調試)菜單上,單擊 Run(運行)。
擴展的 ADO.Net 代碼示例
為了向您演示更多的 ADO.NET 代碼,在本月專欄的最後,我將介紹幾個在 ADO.Net 中創建的擴展的代碼示例。
使用 DataReader 對象以僅向前移動的、只讀的格式訪問數據
很多時候,您只是希望簡單地浏覽數據,而並不需要在數據間來回浏覽,也不需要更改數據(我們將此稱為“流水數據”)。ADO.Net 的 DataReader 對象是專門為此設計的。下面是我編寫的一段示例代碼,可以逐個讀取連接的數據庫中的所有選定數據:
' Visual Basic .Net 代碼。
' 控制台應用程序。
' 引用:
' System
' System.Data
' System.XML
Imports System.Data.OleDb ' 用於 OleDb 對象。
Imports Microsoft.VisualBasic.ControlChars ' 用於 CrLf 常量。
Module Module1
Sub Main()
' 創建並初始化 OleDbConnection、OleDbCommand
' 和 OleDbDataReader 對象。
Dim objConn As New _
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"User ID=Admin;" & _
"Data Source=C:\Program Files\Microsoft" & _
"office\Office10\Samples\Northwind.mdb")
objConn.Open()
' 執行命令並將數據讀取器附加到
' 所選數據。
Dim objCmd As New OleDbCommand("SELECT * FROM Products", _
objConn)
Dim objReader As OleDbDataReader = objCmd.ExecuteReader
' 讀取數據並列出值。
Call ReadData(objReader)
End Sub
Public Sub ReadData(ByVal objReader As OleDbDataReader)
' 目的:列出給定數據讀取器的數據值。
' 接受:objReader - 數據讀取器。
Dim intFIEld As Integer ' 行中的當前字段。
Dim intColumn As Integer ' 當前列的名稱。
Dim blnColumns As Boolean = False ' 列名稱是否已
' 列出。
With objReader
' 一次讀取一行,直至文件末尾。
Do While .Read = True
For intField = 0 To .FIEldCount - 1
' 首先列出列名稱。
If blnColumns = False Then
For intColumn = 0 To .FIEldCount - 1
If intColumn = .FIEldCount - 1 Then
Console.Write(.GetName(intColumn) & _
CrLf)
Else
Console.Write(.GetName(intColumn) & _
", ")
End If
Next intColumn
' 只列出一次列名稱。
blnColumns = True
End If