加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2022-10-26 14:02:06 所属栏目:MySql教程 来源:转载
导读: DataSet
表示数据在内存中的缓存。
我的理解是,在内存中的数据表,需要引用
using System.Data;

SqlDataAdapter
表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据

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语句。

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!