当前位置:编程学习 > asp >>

揭开ADO.NET神秘面纱——ADO.NET结构综述

 ADO.NET提供了两个主要的组件来访问和操作数据,它们分别是.NET Framework 数据提供程序和 DataSet,为了更好的进行数据库的程序设计,我们非常有必要了解下ADO.NET的工作机制。
.NET Framework 数据提供程序
    .NET Framework 数据提供程序是专门为数据操作以及快速、只进、只读访问数据而设计的组件。
    Connection 对象提供到数据源的连接。 使用 Command 对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。 DataReader 可从数据源提供高性能的数据流。 最后,DataAdapter 在 DataSet 对象和数据源之间起到桥梁作用。 DataAdapter 使用 Command 对象在数据源中执行 SQL 命令以向 DataSet 中加载数据,并将对 DataSet 中数据的更改协调回数据源。
下面用代码列表演示如何使用SQLServer、OLE DB、ODBC的 ADO.NET 技术从数据库中检索数据
SqlClient www.zzzyk.com
    假定可以连接到 Microsoft SQL Server 的 Northwind 示例数据库。代码创建一个 SqlCommand 以从 Products 表中选择行,并添加 SqlParameter 来将结果限制为其 UnitPrice 大于指定参数值的行。 SqlConnection 在 using 块内打开,这将确保在代码退出时会关闭和释放资源。示例代码使用 SqlDataReader 执行命令,并在控制台窗口中显示结果。
[plain] 
<span style="font-family:SimSun;font-size:18px;">Option Explicit On  
Option Strict On  
  
Imports System  
Imports System.Data  
Imports System.Data.SqlClient  
  
Public Class Program  
    Public Shared Sub Main()  
    ' 定义连接字符串,并赋值  
        Dim connectionString As String = "Data Source=(local);Initial Catalog=Northwind;" & "Integrated Security=true"  
  
        ' 提供了插叙字符串  
        Dim queryString As String ="SELECT ProductID, UnitPrice, ProductName from dbo.Products " & "WHERE UnitPrice > @pricePoint " & "ORDER BY UnitPrice DESC;"  
  
        Dim paramValue As Integer = 5  
  
        ' 在Using块中创建和打开连接,确保所有的资源在使用完毕后能够关闭并释放  
        Using connection As New SqlConnection(connectionString)  
  
            ' 创建连接和属性对象  
            Dim command As New SqlCommand(queryString, connection)  
        command.Parameters.AddWithValue("@pricePoint", paramValue)  
  
            ' 在try/catch块中打开连接, 创建和执行数据阅览,把结构显示到控制台窗口  
            Try  
                connection.Open()  
                Dim dataReader As SqlDataReader = command.ExecuteReader()  
                Do While dataReader.Read()  
                    Console.WriteLine(vbTab & "{0}" & vbTab & "{1}" & vbTab & "{2}",dataReader(0), dataReader(1), dataReader(2))  
                Loop  
                dataReader.Close()  
  
            Catch ex As Exception  
                Console.WriteLine(ex.Message)  
            End Try  
            Console.ReadLine()  
        End Using  
    End Sub  
End Class  
</span>  
OleDb
      创建一个 OleDbCommand以从 Products 表中选择行,并添加一个 OleDbParameter来将结果限制为其 UnitPrice 大于指定参数值的行。 OleDbConnection在 using 块内打开,这将确保在代码退出时会关闭和释放资源。 示例代码使用 OleDbDataReader 执行命令,并在控制台窗口中显示结果。
[plain]  
<span style="font-family:SimSun;font-size:18px;">Option Explicit On  
Option Strict On  
  
Imports System  
Imports System.Data  
Imports System.Data.OleDb  
  
Public Class Program  
    Public Shared Sub Main()  
  
        Dim connectionString As String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\Data\Northwind.mdb;User Id=admin;Password=;"  
  
       ' 提供了插叙字符串  
        Dim queryString As String = "SELECT ProductID, UnitPrice, ProductName from Products " & "WHERE UnitPrice > ? " & "ORDER BY UnitPrice DESC;"  
  
        ' Specify the parameter value.  
        Dim paramValue As Integer = 5  
  
        '在Using块中创建和打开连接,确保所有的资源在使用完毕后能够关闭并释放          
    Using connection As New OleDbConnection(connectionString)  
  
            Dim command As New OleDbCommand(queryString, connection)  
            command.Parameters.AddWithValue("@pricePoint", paramValue)  
  
            Try  
                connection.Open()  
                Dim dataReader As OleDbDataReader = _  
                 command.ExecuteReader()  
                Do While dataReader.Read()  
                    Console.WriteLine( _  
                        vbTab & "{0}" & vbTab & "{1}" & vbTab & "{2}", _  
                     dataReader(0), dataReader(1), dataReader(2))  
                Loop  
                dataReader.Close()  
  
            Catch ex As Exception  
                Console.WriteLine(ex.Message)  
            End Try  
            Console.ReadLine()  
        End Using  
    End Sub  
End Class  
</s
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,