本文链接: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语句。

C#中DataSet、SqlDataAdapter的使用-关于数据库操作的更多相关文章

  1. SQL 2005 中查询或执行另外的数据库操作的方法

    原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...

  2. PHP中对数据库操作的封装

    在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使 ...

  3. c# 数据库操作学习

    一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...

  4. 使用aop记录数据库操作的执行时间

    在项目中,我们往往需要记录数据库操作的时间,根据操作时间的不同,分别记录不同等级的日志. 首先我们可以写一个类实现MethodInterceptor接口: import org.aopalliance ...

  5. 深入详解美团点评CAT跨语言服务监控(五)配置与数据库操作

    CAT配置 在CAT中,有非常多的配置去指导监控的行为,每个配置都有相应的配置管理类来管理,都有一个配置名, 配置在数据库或者配置文件中都是以xml格式存储,在运行时会被解析到具体实体类存储.我们选取 ...

  6. ado.net中的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之间的关系

    Connection: 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能够知道是 ...

  7. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...

  8. ADO.Net中DataSet的应用

    一.知识点描述 1.DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合.也就是说,即使断开数据链路,或者关闭数据库,Data ...

  9. ADO.NET中SqlCommand对数据库操作

    我们要不断地进行数据库的读写,那么ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下:     ...

随机推荐

  1. 51nod(1174 区间中最大的数)(ST表模板题)

    1174 区间中最大的数 1.0 秒 131,072.0 KB 0 分 基础题   给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少. 例如: 1 ...

  2. 将Python模块转变为命令行工具

    问:如何输入命令行就能执行python代码呢? 答:要将python模块转变为命令行工具只用在 setup.py 文件中添加参数entry_points 例如: entry_points={ 'con ...

  3. 温故知新的经典贪心题目:今年暑假不AC?

    情景: “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电 ...

  4. Linux断网安装jdk1.8

    1.创建目录存放jdk包 mkdir /usr/java 2.上传jdk包 通过xftp或者其他远程工具 3.解压jdk tar zxvf jdk-8u221-linux-x64.tar.gz 4.打 ...

  5. python中可变类型和不可变类型数据的复制

    常见的复制方式有以下5种第1种:通过等号[=]复制 - 不论可变还是不可变数据类型,通过[=]复制后都指向同一个内存地址: - 改变复制后的数据(例子中的anotherStr,anotherList) ...

  6. pom.xml文件中dependency标签的scope子标签

    1.最近整合了公司的一个项目A,而A又依赖项目B,项目B中pom.xml中有一个依赖的<scope>provided</scope>,查了一下,原来provided属性,jar ...

  7. Windows DOS下查看硬盘分区

    运行cmd Diskpart //加载 list Disk //列出硬盘 list Volume //列出分区 Select Disk //选择 编号0的硬盘 list Partition //列出当 ...

  8. php中多图上传采用数组差集处理(array_diff,array_map)

    //删除旧有的图片 //新增数组 $arr2=array(); //原有数组 $old_pics = ReportPic::find()->where(['report_id' => $i ...

  9. bugku sql2

    sql注入2 200 http://123.206.87.240:8007/web2/ 全都tm过滤了绝望吗? 提示 !,!=,=,+,-,^,%

  10. FireFox浏览器的about:config参数大全及其具体用途介绍

    FireFox浏览器的about:config参数大全及其具体用途介绍,注意:这还远不是所有的about:config参数,由于设置参数太多,官方也只提供英文版本的说明,这里提供的FireFox ab ...