.NET Data Provider、DataSet,数据库之间的关系。

.NET Data Provider、DataSet,数据库之间的关系。,第1张

数据库是底层的数据提供程序,对于不同的数据库有不同的底层实现方式 比如对象关系数据库 文档数据库等等

数据提供程序是.net用于访问数据库的api的提供者,对于不同的数据库有不同的提供程序,比如用于访问sql server的,mysql的,ObjectDB的等等

DataSet是一种内存内的数据缓存措施,取过来的数据可以暂存在内存中,组件控件和程序可以修改DataSet,DataSet负责记录增删改查部分,但是仅存在于内存中还未提交至数据库,当使用Adapter可以直接提交数据到数据库

DataSet是使用相应的数据提供程序来获取底层的数据的

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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9934282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存