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()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下: ...
随机推荐
- 5G三大应用场景
5G三大应用场景:eMBB(增强移动宽带).eMTC(海量物联).uRLLC(高可靠低时延连接) ------20191215闪
- jarvis OJ部分writeup
[XMAN]level 0 [XMAN]level 1 —— 简单shellcode利用 [XMAN]level 2 [XMAN]level 3 —— ret2libc尝试 [XMAN]level2& ...
- BBR在实时音视频领域的应用
小议BBR算法 BBR全称Bottleneck Bandwidth and RTT,它是谷歌在2016年推出的全新的网络拥塞控制算法.要说明BBR算法,就不能不提TCP拥塞算法. 传统的TCP拥塞控制 ...
- 连续张量理解和contiguous()方法使用,view和reshape的区别
连续张量理解和contiguous()方法使用,view和reshape的区别 待办 内存共享: 下边的x内存布局是从0开始的,y内存布局,不是从0开始的张量 For example: when yo ...
- 【Python】获取星期字符串
原理:字符串切片 1.0代码: #获取星期字符串 weekStr="星期一星期二星期三星期四星期五星期六星期日" weekId=eval(input("请输入星期数字(1 ...
- [CF603R] Game - 博弈论
[CF603R] Description 给定 \(N \times N\) 的棋盘,两人轮流放棋子.棋子的上下左右四个格子不能再放棋子.不能操作的人负.判断胜负. Solution 用的是很常见的思 ...
- Spectral clustering谱聚类
Basic knowledge: degree matrix; similarity matrix, and Adjacency matrix; 无向带权图模型 G=<V,E>G=< ...
- C++分割string字符串(转)
原文链接:https://blog.csdn.net/jirryzhang/article/details/80473032 或:https://www.cnblogs.com/dingxiaoqia ...
- 【牛客小白月赛21】NC201605 Bits
[牛客小白月赛21]NC201605 Bits 题目链接 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出3根柱子,最开始时n个盘子按照大小被置于最左的柱子. 如果盘子数 ...
- c#中convert.toInt32和int.parse()和强制类型转换的区别
string a="123"; int i=(int)a; 这是会出现错误因为:强制类型转换只能转换值类型不能转换引用类型 string属于引用类型 强制类型转换时如果值类型 ...