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 属性,使C#数据库编程中的数据加载和更新更加方便。
C#数据库编程示例
以下C#数据库编程示例使用 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;
- }
【编辑推荐】