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

  • 相关阅读:
    在openwrt上初体验PostgreSQL数据库
    Linux学习笔记(7)-系统资源查看
    Linux学习笔记(6)-工作管理
    Linux学习笔记(5)-进程管理
    Linux学习笔记(4)-文本编辑器vi的使用
    linux学习笔记(3)-文件系统
    Linux学习笔记(2)-用户和用户组
    linux学习笔记(1)-文件处理相关命令
    68.vivado与modelsim的关联以及器件库编译
    67.ARP协议
  • 原文地址:https://www.cnblogs.com/wfy680/p/12004539.html
Copyright © 2020-2023  润新知