C#中DataSet、SqlDataAdapter的使用-关于数据库操作


DataSet

表示数据在内存中的缓存。
我的理解是,在内存中的数据表,需要引用

using System.Data;

SqlDataAdapter

表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。
此类不能被继承。
暂时知道的用法是使用它进行数据库查询操作,之后将查询到的结果填充给DataSet对象。

A simple example of using DataSet

        /*
            连接字符串
        */
        SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
        scsb.DataSource = "WIN-KGQPBDFG53P\\SQLEXPRESS";
        scsb.InitialCatalog = "STU50";
        scsb.UserID = "sa";
        scsb.Password = "123";
        /*
            连接对象
        */
        SqlConnection sqlConn = new SqlConnection(scsb.ToString());
        sqlConn.Open();
        /*
            查询语句
        */
        string commStr = "SELECT 学号, 姓名, 出生日期 FROM Readers";
        /*
            创建SqlDataAdapter对象
            第一个参数是SQL语句字符串
            第二个参数是已打开连接的数据库连接对象
        */
        SqlDataAdapter sda = new SqlDataAdapter(commStr, sqlConn);
        /*
            将查询到的内容填充到DataSet对象
            使用SqlDataAdapter的Fill方法
            第一个参数是DataSet对象
            第二个参数是指定表的名称
        */
        DataSet ds = new DataSet();
        sda.Fill(ds, "Readers");
        /*
            将DataSet中的表传给DataGridView控件
        */
        dgvShowInfo.DataSource = ds.Tables["Readers"];

利用SqlDataAdapter同步更新数据库

当在DataGridView控件中对数据进行修改时,可以直接将修改内容同步写入数据库。
建立一个按钮,用与执行同步数据库的操作,当按钮被点击时,执行

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds, "Readers");

PS:ds需要有主键列才能进行更新操作
参考:
SqlCommandBuilder是用于自动生成SQL语句的一个类,当需要进行更改时生成SQL语句把更改写进数据库。
如果去掉SqlCommandBuilder,需要自己写关于更新的SQL语句。

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值