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语句。
C#中DataSet、SqlDataAdapter的使用-关于数据库操作的更多相关文章
- SQL 2005 中查询或执行另外的数据库操作的方法
原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...
- PHP中对数据库操作的封装
在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使 ...
- c# 数据库操作学习
一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...
- 使用aop记录数据库操作的执行时间
在项目中,我们往往需要记录数据库操作的时间,根据操作时间的不同,分别记录不同等级的日志. 首先我们可以写一个类实现MethodInterceptor接口: import org.aopalliance ...
- 深入详解美团点评CAT跨语言服务监控(五)配置与数据库操作
CAT配置 在CAT中,有非常多的配置去指导监控的行为,每个配置都有相应的配置管理类来管理,都有一个配置名, 配置在数据库或者配置文件中都是以xml格式存储,在运行时会被解析到具体实体类存储.我们选取 ...
- ado.net中的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之间的关系
Connection: 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能够知道是 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...
- ADO.Net中DataSet的应用
一.知识点描述 1.DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合.也就是说,即使断开数据链路,或者关闭数据库,Data ...
- ADO.NET中SqlCommand对数据库操作
我们要不断地进行数据库的读写,那么ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下: ...
随机推荐
- 扩展BSGS求解离散对数问题
扩展BSGS用于求解axΞb mod(n) 同余方程中gcd(a,n)≠1的情况 基本思路,将原方程转化为a与n互质的情况后再套用普通的BSGS求解即可 const int maxint=((1< ...
- Ubuntu系统测评
首次使用ubuntun系统 华为云可以免费试用30天,嘻嘻,正好熟悉一下linux命令 1.登录 login: 先输入用户名:root 在输入密码:******** 这个是在配置云服务器的时候自己设置 ...
- Leetcode Week1 Regular Expression Matching
Question Given an input string (s) and a pattern (p), implement regular expression matching with sup ...
- 假期学习【十】首都之窗百姓信件JavaWweb+Echarts图表展示
今天主要对昨天爬取的数据进行处理,处理后用Echart图表展示, 效果如下:
- 牛客网——剑指offer(跳台阶以及变态跳台阶_java实现)
首先说一个剪枝的概念: 剪枝出现在递归和类递归程序里,因为递归操作用图来表示就是一棵树,树有很多分叉,如果不作处理,就有很多重复分叉,会降低效率,如果能把这些分叉先行记录下来,就可以大大提升效率——这 ...
- vue 报错碰到的一些问题及其规范
报错信息:Expected error to be handled(需要处理的错误) 这是因为回调函数里面的参数error没有运用到,所以可以不设置参数,或者在回调函数内console.log(err ...
- [ C++ ] 常用位运算技巧
1.除以二 a >> 1 2.二的n次方 1 << n 3.十进制转2进制 x&(1<<i) 持续更新
- SQL操作DBF
--从SQL Server查询器预览dBase 文件中数据select * from openrowset('MICROSOFT.ACE.OLEDB.12.0','dBase 5.0;database ...
- 大二组队(NABCD)
(Need)需求 很多时候,外人都不了解我们的校园.为了宣传铁大.让更多人了解校园.走进铁大. (Approach)做法 我们有最基本的展示.对校园风貌有基本的讲解.有论坛供应大家讨论. (Benef ...
- 一次 utf-8 bom引起的问题
同事代码新增加了功能,推到服务器上,意外导致登录失败,回退到之前的版本上,可以正常使用. 这次只上传了 route.php 文件,系统登录失败. 随后使用kdiff3对比了两版本的route.php文 ...