OleDbDataAdapter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于填充 DataSet 和更新数据源的一组数据命令和一个数据库连接。
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter
type OleDbDataAdapter = class
inherit DbDataAdapter
interface IDataAdapter
interface IDbDataAdapter
interface ICloneable
type OleDbDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
- 继承
- 实现
示例
以下示例使用 OleDbCommand、 OleDbDataAdapter 和 OleDbConnection从 Access 数据源中选择记录,并使用所选行填充 DataSet 。 然后返回填充 DataSet 的 。 为此,向 方法传递了一个初始化 DataSet的 、一个连接字符串,以及一个作为 SQL SELECT 语句的查询字符串。
public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
OleDbConnection connection)
{
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create the Insert, Update and Delete commands.
adapter.InsertCommand = new OleDbCommand(
"INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)");
adapter.UpdateCommand = new OleDbCommand(
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?");
adapter.DeleteCommand = new OleDbCommand(
"DELETE FROM Customers WHERE CustomerID = ?");
// Create the parameters.
adapter.InsertCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.InsertCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.UpdateCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
adapter.DeleteCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
return adapter;
}
Public Function CreateDataAdapter(ByVal selectCommand As String, _
ByVal connection As OleDbConnection) As OleDbDataAdapter
Dim adapter As OleDbDataAdapter = _
New OleDbDataAdapter(selectCommand, connection)
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
' Create the commands.
adapter.InsertCommand = New OleDbCommand( _
"INSERT INTO Customers (CustomerID, CompanyName) " & _
"VALUES (?, ?)")
adapter.UpdateCommand = New OleDbCommand( _
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
"WHERE CustomerID = ?")
adapter.DeleteCommand = New OleDbCommand( _
"DELETE FROM Customers WHERE CustomerID = ?")
' Create the parameters.
adapter.InsertCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.InsertCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.UpdateCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
adapter.DeleteCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
Return adapter
End Function
注解
OleDbDataAdapter充当 和数据源之间的桥梁,DataSet用于检索和保存数据。 OleDbDataAdapter提供了此桥,方法是使用 Fill 将数据从数据源加载到 中DataSet,并使用 Update 将 中DataSet所做的更改发送回数据源。
OleDbDataAdapter当 填充 时DataSet,它将为返回的数据创建相应的表和列(如果它们尚不存在)。 但是,除非 将 属性设置为 AddWithKey,否则MissingSchemaAction隐式创建的架构中不包含主键信息。 在使用 填充数据FillSchema之前,还可以OleDbDataAdapter创建 的DataSet架构,包括主键信息。 有关详细信息,请参阅 向数据集添加现有约束。
请注意,某些 OLE DB 提供程序(包括 MSDataShape 提供程序)不返回基表或主键信息。 因此, OleDbDataAdapter 无法在任何创建的 DataTable上正确设置 PrimaryKey 属性。 在这些情况下,应显式指定 中的 DataSet表的主键。
OleDbDataAdapter还包括 、SelectCommandInsertCommand、DeleteCommand、 UpdateCommand和 TableMappings 属性,以便于加载和更新数据。
创建 实例 OleDbDataAdapter时,属性将设置为其初始值。 有关这些值的列表,请参阅 OleDbDataAdapter 构造函数。
构造函数
OleDbDataAdapter() |
初始化 OleDbDataAdapter 类的新实例。 |
OleDbDataAdapter(OleDbCommand) |
初始化 OleDbDataAdapter 类的新实例,用指定的 OleDbCommand 作为 SelectCommand 的属性。 |
OleDbDataAdapter(String, OleDbConnection) |
用 OleDbDataAdapter 初始化 SelectCommand 类的新实例。 |
OleDbDataAdapter(String, String) |
用 OleDbDataAdapter 初始化 SelectCommand 类的新实例。 |
字段
DefaultSourceTableName |
DataAdapter 对象用于表映射的默认名称。 (继承自 DbDataAdapter) |
属性
AcceptChangesDuringFill |
获取或设置一个值,该值指示在任何 Fill 操作过程中,在将 AcceptChanges() 添加到 DataRow 之后是否在 DataTable 上调用它。 (继承自 DataAdapter) |
AcceptChangesDuringUpdate |
获取或设置在 AcceptChanges() 期间是否调用 Update(DataSet)。 (继承自 DataAdapter) |
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
ContinueUpdateOnError |
获取或设置一个值,该值指定在行更新过程中遇到错误时是否生成异常。 (继承自 DataAdapter) |
DeleteCommand |
获取或设置 SQL 语句或存储过程,用于从数据集中删除记录。 |
DesignMode |
获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component) |
Events |
获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
FillCommandBehavior |
获取或设置用于填充数据适配器的命令的行为。 (继承自 DbDataAdapter) |
FillLoadOption |
获取或设置 LoadOption,后者确定适配器如何从 DataTable 中填充 DbDataReader。 (继承自 DataAdapter) |
InsertCommand |
获取或设置 SQL 语句或用于将新记录插入数据源的存储过程。 |
MissingMappingAction |
确定传入数据没有匹配的表或列时需要执行的操作。 (继承自 DataAdapter) |
MissingSchemaAction |
确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。 (继承自 DataAdapter) |
ReturnProviderSpecificTypes |
获取或设置 |
SelectCommand |
获取或设置 SQL 语句或存储过程,用于选择数据源中的记录。 |
Site | (继承自 Component) |
TableMappings |
获取一个集合,该集合提供源表和 DataTable之间的主映射。 (继承自 DataAdapter) |
UpdateBatchSize |
获取或设置一个值,该值启用或禁用批处理支持,并且指定可在一次批处理中执行的命令的数量。 (继承自 DbDataAdapter) |
UpdateCommand |
获取或设置 SQL 语句或用于在数据源中更新记录的存储过程。 |
方法
事件
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |
FillError |
在填充操作过程中出现错误时返回。 (继承自 DbDataAdapter) |
RowUpdated |
在对数据源执行命令后的 Update(DataSet) 过程中发生。 尝试进行更新。 因此,事件发生。 |
RowUpdating |
在对数据源执行命令前的 Update(DataSet) 过程中发生。 尝试进行更新。 因此,事件发生。 |
显式接口实现
ICloneable.Clone() |
有关此成员的说明,请参见 Clone()。 |
IDataAdapter.TableMappings |
获取一个集合,该集合指示如何将源表映射到数据集表。 (继承自 DataAdapter) |
IDbDataAdapter.DeleteCommand |
有关此成员的说明,请参见 DeleteCommand。 |
IDbDataAdapter.InsertCommand |
有关此成员的说明,请参见 InsertCommand。 |
IDbDataAdapter.SelectCommand |
有关此成员的说明,请参见 SelectCommand。 |
IDbDataAdapter.UpdateCommand |
有关此成员的说明,请参见 UpdateCommand。 |