C#数据库编程中SqlDataAdapter与DataSet的区别与联系
2007-04-04 11:08
471 查看
SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。SqlDataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。
当 SqlDataAdapter 填充 DataSet 时,它将为返回的数据创建必要的表和列(如果它们尚不存在)。但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中就将不包括主键信息。也可以在使用 FillSchema 为数据集填充数据前,让 SqlDataAdapter 创建 DataSet 的架构(包括主键信息)。有关更多信息,请参见向 DataSet 添加现有约束。
SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 Microsoft SQL Server 数据库时提高性能。
SqlDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性,使数据的加载和更新更加方便。
示例
以下示例使用 SqlCommand、SqlDataAdapter 和 SqlConnection,从数据库选择记录,并用选定的行填充 DataSet。然后返回已填充的 DataSet。为完成此任务,向该方法传递一个已初始化的 DataSet、一个连接字符串和一个查询字符串,后者是一个 Transact-SQL SELECT 语句。
public DataSet SelectSqlSrvRows(DataSet dataset,string connection,string query)
{
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conn);
adapter.Fill(dataset);
return dataset;
}
当 SqlDataAdapter 填充 DataSet 时,它将为返回的数据创建必要的表和列(如果它们尚不存在)。但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中就将不包括主键信息。也可以在使用 FillSchema 为数据集填充数据前,让 SqlDataAdapter 创建 DataSet 的架构(包括主键信息)。有关更多信息,请参见向 DataSet 添加现有约束。
SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 Microsoft SQL Server 数据库时提高性能。
SqlDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性,使数据的加载和更新更加方便。
示例
以下示例使用 SqlCommand、SqlDataAdapter 和 SqlConnection,从数据库选择记录,并用选定的行填充 DataSet。然后返回已填充的 DataSet。为完成此任务,向该方法传递一个已初始化的 DataSet、一个连接字符串和一个查询字符串,后者是一个 Transact-SQL SELECT 语句。
public DataSet SelectSqlSrvRows(DataSet dataset,string connection,string query)
{
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conn);
adapter.Fill(dataset);
return dataset;
}
相关文章推荐
- C#数据库编程中SqlDataAdapter与DataSet的区别与联系
- C#数据库编程中SqlDataAdapter与DataSet的区别与联系
- C#中DataSet、SqlDataAdapter的使用-关于数据库操作
- C# SqlDataAdapter, DataSet接收数据库数据
- ADO.NET数据库操作------SqlDataReader和SqlDataAdapter 区别
- <转载>C#使用SqlDataAdapter.Update更新数据库
- C#中DataSet和SqlDataReader的区别
- C# SqlCommand和SqlDataAdapter的区别
- SqlDataReader 与SqlDataAdapter+DataSet 的区别
- C# DataSet And SqlDataAdapter读取SQL server2008数据库数据
- C#里sqlDataAdapter.fill(DataSet,String)的用法
- sql 查询语法汇总(三)SqlDataReader 与SqlDataAdapter+DataSet 的区别
- 用SqlDataAdapter.DeleteCommand根据DataSet删除数据库记录的失败教训
- 通过SqlDataAdapter 插入DataSet中的数据到数据库
- 通过 SqlDataAdapter.update 方法通过DataSet更新数据库
- SQL 数据库 C#中全局DataTable、SqlDataAdapter、SqlConnection实现实例
- ADO内存数据对象SqlDataAdapter类使用SqlDataAdapter在数据库和DataSet之间架起桥梁:
- 用SqlDataAdapter填充DataSet和更新数据库
- C#中SqlDataAdapter与DataSet的使…
- c#大圣之路笔记——c# SqlDataReader和SqlDataAdapter区别