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

 

本文链接:https://blog.csdn.net/xubaifu1997/article/details/51816785


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

 

posted @ 2019-12-08 07:57  清语堂  阅读(1856)  评论(0编辑  收藏  举报