DataAdapter 类
https://docs.microsoft.com/zh-cn/dotnet/api/system.data.common.dataadapter?view=netframework-4.8
命名空间:System.Data.Common
程序集:System.Data.dll
表示用于填充 DataSet 和更新数据源的一组 SQL 命令和一个数据库连接。
注解
DataAdapter 充当用于检索和保存数据的 DataSet 与数据源之间的桥梁。 DataAdapter 通过映射 Fill来提供此桥,这将更改 DataSet 中的数据以匹配数据源中的数据,Update并将更改数据源中的数据,使其与 DataSet中的数据相匹配。
- 连接到 SQL Server 数据库,则可以通过使用 SqlDataAdapter 连同关联的 SqlCommand 和 SqlConnection 对象,提高整体性能。
- 连接到OLE DB 支持的数据源,请将 DataAdapter 与其关联的 OleDbCommand 和 OleDbConnection 对象结合使用。
- 连接到ODBC 的数据源,请将 DataAdapter 与其关联的 OdbcCommand 和 OdbcConnection 对象一起使用。
- 连接到 Oracle 数据库,将 DataAdapter 与其关联的 OracleCommand 和 OracleConnection 对象一起使用。
包含在.NET Framework中的每一个.NET数据提供程序都有一个DataAdapter对象。DataAdapter用于获取数据源中的数据,并填充DataSet中的DataTable对象和约束,还可以将DataSet产生的改变返回数据源。它使用,NET数据提供程序的Connection对象连接数据源,使用Command对象获取DataSet对象中的数据,并将DataSet对象中数据的变化返回数据源。
DataSet与DataReader的区别在于,DataReader使用Connection直接访问数据,不必使用DataAdapter。DataAdapter实际上是将DataSet对象与实际数据源断开,而DataReader则是以只读的方式和数据紧密地绑定在一起。
SelectCommand属性是一个从数据源中获取数据的Command对象。设置DataAdapter的SelectCommand属性的一个简便方式是给DataAdapter的构造函数传送Command对象。InsertCommand、UpdateCommand和DeleteCommand属性也是Command对象,它们根据对DataSet中数据的修改来更新数据源中的数据。
DataAdapter的Fill方法用于将DataAdapter中SelectCommand的结果填充到DataSet中,它也用于添加或刷新DataSet中的行,以匹配数据源中的行。
Private Function GetConnection() As SqlConnection
Return New SqlConnection(My.Settings.pubsConnectionString)
End Function
Private Sub testDataAdapter1()
Dim sql As String = "Select * from authors"
Dim connection As SqlConnection = GetConnection()
Dim adapter As New SqlDataAdapter(sql, connection)
Dim authors As New DataSet
adapter.Fill(authors)
For Each row As DataRow In authors.Tables(0).Rows
Console.WriteLine(row("au_fname").ToString.PadRight(15) & " " & row("au_lname").ToString)
Next
Console.Read()
End Sub