SqlDataAdapter是 DataSet与SQL Server之间的桥接器,用于相互之间的数据操作。
使用方法
1. 通过查询语句 与 SqlConnection对象实现
string strConn="uid=账号;pwd=密码;database=数据库;server=服务器"; SqlConnection conn=new SqlConnection(strConn); string strSql = "select * from 表名"; SqlDataReader da = new SqlDataReader(strSql, conn); DataSet ds = new DataSet(); da.Fill(ds, "自定义一个表名");
2.通过 SqlCommand对象实现
string strConn="uid=账号;pwd=密码;database=数据库;server=服务器"; SqlConnection conn=new SqlConnection(strConn); string strSql = "select * from 表名"; SqlCommand cmd = new Sqlcommand(strSql,conn); SqlDataReader da = new SqlDataReader(cmd); DataSet ds = new DataSet(); da.Fill(ds, "自定义一个表名"); //自定义表名可以定义为与数据库中一致的名字
注意:
1. SqlDataAdapter的UpdateCommand执行机制:当调用SqlDataAdapter.Update()时,只对修改过的Row()执行SqlDataAdapter.UpdateCommand。
2. 打开与关闭连接的处理
在调用SqlCommand对象执行sql命令之前,需要保证与该对象关联的SqlConnection对象是打开的,但是SqlDataAdapter对象特殊处在于:SqlDataAdapter会保证SqlConnection状态恢复到调用Fill方法之前的状态。
string strConn="uid=账号;pwd=密码;database=数据库;server=服务器";//SQL Server链接字符串 SqlConnection conn=new SqlConnection(strConn); SqlDataAdapter daCustomers,daOrders; strSql="SELECT * FROM Customers"; daCustomers = new SqlDataAdapter(strSql, conn); strSql="SELECT * FROM Orders"; daOrders=new SqlDataAdapter(strSql, conn);
DataSet ds=new DataSet();
//conn.open(); daCustomers.Fill(ds,"Customers"); daOrders.Fill(ds,"Orders");
//conn.close();
以上程序会在调用Fill方法时,打开/关闭连接各一次。 为了避免这种浪费,可以在其始末处各加上打开/关闭连接语句,如注释内容。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?