C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例
DataAdapter对象代码示例
下面的代码将说明如何利用DataAdapter对象填充DataSet对象。
private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"
string sqlstr=" select * from USER ";
//利用构造函数,创建DataAdapter
SqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);
// 创建DataSet
DataSet ds=new DataSet();
//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabble
da.Fill(ds, "USER" );
上述代码使用DataApater对象填充DataSet对象的步骤如下。
(1)根据连接字符串和SQL语句,创建一个SqlDataAdapter对象。
这里,虽然没有出现Connection和Command对象的控制语句,但是SqlDataAdapter对象会在创建的时候, 自动构造对应的SqlConnection和SqlCommand对象,
同时根据连接字符串自动初始化连接。要注意的是,此时SqlConnection和SqlCommand对象都处于关闭状态。
(2)创建DataSet对象,该对象需要用DataAdapter填充。
(3)调用DataAdapter的Fill方法,通过DataTable填充DataSet对象。
由于跟随DataAdapter对象创建的Command里的SQL语句是访问数据库里的USER表,
所以在调用Fill方法的时候,在打开对应的SqlConnection和SqlCommand对象后,会用USER表的数据填充创建一个名为USER的DataTable对象,再用该DataTable填充到DataSet中。
下面的代码演示了如何使用DataAdapter对象将DataSet中的数据更新到数据库。
private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"
string sqlstr=" select * from USER ";
//利用构造函数,创建DataAdapter
SqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);
// 创建DataSet
DataSet ds=new DataSet();
//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabble
da.Fill(ds, "USER" );
//以下代码将更新DataSet里的数据
//在DataSet里的名为"USER"的DataTable里添加一个用于描述行记录的DataRow对象
DataRow dr=ds.Tables["USER"].NewRow();
//通过DataRow对象添加一条记录
dr["USERID"]="ID2" ;
dr["USERNAME"]="TOM" ;
ds.Tables["USER"].Rows.Add(dr);
//更新到数据库里
SqlCommandBuilder scb=new SqlCommandBuilder(da);
da.update(ds, "USER");
在上述代码里,
首先使用DataAdapter填充DataSet对象,
然后通过DataRow对象,向DataSet添加一条记录,
最后使用DataSet的update方法将添加的记录提交到数据库中。
执行完update语句,数据库USER中就多了一条USERID是ID2、USERNAME是TOM的记录。
此外,上述代码出现的SqlCommandBuilder对象用来对数据表进行操作。
用了这个对象,就不必再繁琐地使用DataAdapter的UpdataCommand属性来执行更新操作。
C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例的更多相关文章
- C#与数据库访问技术总结(五)之Command对象的常用方法
Command对象的常用方法 说明:上篇总结了Command对象的几个数据成员,这节总结Command对象的常用方法. 同样,在不同的数据提供者的内部,Command对象的名称是不同的,在SQL Se ...
- C#与数据库访问技术总结(十八)
ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...
- C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...
- C#与数据库访问技术总结(十六)之 DataSet对象
DataSet对象 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访问和操作数据库. 并且,由于DataSet对象具有离线 ...
- C#与数据库访问技术总结(十四)之DataAdapter对象
DataAdapter对象 DataAdapter对象主要用来承接Connection和DataSet对象. DataSet对象只关心访问操作数据,而不关心自身包含的数据信息来自哪个Connectio ...
- C#与数据库访问技术总结(十)之添加&删除
说明:上一篇文章写了更新数据,接下来就是添加和删除数据了. 添加记录 从程序员的角度看,向数据库中添加新的记录与更改现有记录没有任何区别. 为SQL INSERT命令或者存储过程创建一个Command ...
- c# 窗体开发4 数据库访问技术
ADO.NET的名称起源于ADO(ACTIVEX DATA OBJECTS) USING SYSTEM; USING SYSTEM.COLLECTIONS.GENERIC; USING SYSTEM. ...
- 数据库访问技术 odbc dao rdo uda jet oledb
一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...
- C#与数据库访问技术总结(七)综合示例
综合示例 说明:前面介绍了那么多,光说不练假把式,还是做个实例吧. 表:首先你要准备一张表,这个自己准备吧.我们以学生表为例. 1.ExecuteScalar方法 ExecuteScalar方法执行返 ...
随机推荐
- xfire webServeic 例子
xfire webServeic 例子,参考网上众多例子,自己写得完成了,给大家分享 大家只要按这个目录去建文件就可以了,然后运行,至于其中原理慢慢理会吧 环境:myeclipse 10 +xfire ...
- LINUX内核分析第七周学习总结:可执行程序的装载
LINUX内核分析第七周学习总结:可执行程序的装载 韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/cours ...
- urllib.request
[urllib.request] 1.urlopen结果保存在内存. 2.ulrretrieve结果保存到文件. 3.response有read方法. 4.可以创建Request对象. 5.发送Pos ...
- globals()
[globals() ] globals() Return a dictionary representing the current global symbol table. This is alw ...
- .Net的错误机制
//优先级1 protected void Page_Error(object sender, EventArgs e) { Exception objErr = Serv ...
- C语言课设心得分享(一)
今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...
- DropDownList的使用,RadioButtonList的使用
DropDownList的使用之从后台动态获取值 前端aspx代码如下 <asp:DropDownList ID="DDLTypeID" runat="server ...
- ZT 第一范式,第二范式,第三范式
第一范式,第二范式,第三范式 Posted on 2012-05-09 16:30 GISerYang 阅读(6472) 评论(0) 编辑 收藏 第一范式 存在非主属性对码的部分依赖关系 R(A,B, ...
- 最近写了一个红包雨的小功能,但感觉自己的js还有很多地方可以提高,望大神们可以帮忙指点一二
js部分 'use strict'; function RedEnvelope(options){ if(this === window){ return new RedEnvelope(option ...
- HttpUrlConnection访问Servlet进行数据传输
建立一个URL url = new URL("location"); 建立 httpurlconnection :HttpUrlConnection httpConn = (Htt ...