ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET
生活随笔
收集整理的這篇文章主要介紹了
ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是一個已經移植到 .NET 的 ADO 應用的例子。也演示了單向、只讀、快速 DataReader 的使用。它演示如何使用 DataView 類從 DataSet 獲取一個 Table 和 操作一個類似于舊的 ADO 記錄集模型。請記得,ADO 記錄集僅僅包含一個 Table 的數據,但是 ADO.NET DataSet 可以包含多個 Tables 并且非常靈活。 原始的 ADO 示例使用 SQL Server 2000 下的 Employee 示例。原始的示例使用 ADO Recordset 對象管理從 SQL 查詢返回的結果數據。新的示例演示了如何使用 SqlDataAdapter 填充 DataSet(類似于 ADO Recordset 的模型)。還有,原始的示例使用彈窗(.cpp)和表單(.frm)顯示 Northwind 數據庫 Employ Table 的輸出。然而,在示例中 .NET 示例僅僅使用控制臺窗口輸出非圖形數據。 下面示例的要點: 1、連接到數據庫 2、使用輕量級、只讀、單向的讀取器 3、執行 SQL 查詢并且生成 ADO Recordset 或者 ADO.NET DataSet 4、使用 ADO Recordset 或者 ADO.NET DataSet 訪問指定記錄集 通常在一個 ADO 應用程序中,包括到數據庫的連接和執行 SQL 的查詢并且生成 ADO Recordset。 在原始的代碼中使用 Visual Basic 版本的 Employee,使用 ADO 連接對象和連接串“server=(local)\SQLExpression;Integrated Security=SSPI;database=northwind;provider=SQLNCLI”。然后記錄集通過使用 ADO Recordset.Open 方法打開 SQL‘SELECT’查詢。 ' Open the database.
cn.Open("server=(local)\SQLExpress;Integrated Security=SSPI;database=northwind;provider=SQLNCLI")' Open the Recordset.Set rs = New ADODB.Recordsetrs.Open "select * from Employees", cn, adOpenKeyset, adLockPessimistic' Move to the first record and display the data.
rs.MoveFirstFillDataFields
?
在 .NET 中的實現非常類似。使用 SqlConnection 對象和連接串“server=(local)\SQLExpress;Integrated Security=SSPI;database=northwind”。讀取器通常用于循環執行查詢返回的數據。這個讀取器(只讀、單向的數據讀取器)性能優于原生的 ADO 讀取器。SqlDataAdapter 通過使用 SQL ‘SELECT’查詢和 Fill 方法填充 DataSet。 SqlConnection mySqlConnection = new SqlConnection("server=(local)\\SQLExpress;Integrated Security=SSPI;database=northwind");SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("select * from employees", mySqlConnection);DataSet myDataSet = new DataSet();mySqlDataAdapter.Fill(myDataSet,"Employees");?
在 ADO 應用程序中,有些函數在 Recordset 中從每個記錄和字段組合獲取數據。這常常是通過調用 Recordset 的 MoveFirst、MoveLast、MovePrevious 和 MoveNext 方法完成。例如: If rs.EOF = False ThenIf rs.BOF = True Thenrs.MoveFirstEnd Ifrs.MoveNextEnd IfIf rs.EOF = False ThenFillDataFieldsEnd If?
接著使用 Field 訪問器從 Recordset 的當前記錄提取數據。例如: For Each fld In FldsFieldSize = fld.ActualSizeIf FieldSize > 0 ThenSelect Case fld.NameCase "EmployeeID"txtEID.Text = Str(fld.Value)Case "LastName"txtLastName.Text = fld.ValueCase "FirstName"txtFirstName.Text = fld.ValueCase "Title"txtTitle.Text = fld.Value...End SelectEnd IfNext?
下例中,DataSet 的 “Employee”Table 分配給 DataView,生成的 DataView 通過迭代提取數據值。通過使用 DataView,你能夠把 DataSet 中的任一 Table 轉化成 一個功能類似于傳統 ADO Recordset 的對象。 // Create a new dataview instance on the Employees table that was just createdDataView myDataView = new DataView(myDataSet.Tables["Employees"]);// Sort the view based on the first column name.myDataView.Sort = "EmployeeID";int iReportsTo;for (int i = 0; i < myDataView.Count; i++){Console.Write("\n************************ Employee number " + (i+1).ToString() + " ************************\n");Console.Write("EmployeeID:\t" + myDataView[i]["EmployeeID"].ToString() + "\n" +"FirstName:\t" + myDataView[i]["FirstName"].ToString() + "\n" +"LastName:\t" + myDataView[i]["LastName"].ToString() + "\n" +"Title:\t\t" + myDataView[i]["Title"].ToString() + "\n" +"TitleOfCourtesy:" + myDataView[i]["TitleOfCourtesy"].ToString() + "\n" +...}?
原文鏈接: http://quickstarts.asp.net/QuickStartv20/howto/doc/adoplus/employees.aspx轉載于:https://www.cnblogs.com/JavCof/p/3488081.html
總結
以上是生活随笔為你收集整理的ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】android程序连接网络出现an
- 下一篇: EXT.NET复杂布局(二)——报表