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方法执行返 ...
随机推荐
- spring 下载地址
http://repo.spring.io/release/org/springframework/spring/
- firefox广告拦截插件
firefox广告拦截插件: Adblock Plus Adblock Edge Adblock Plus Pop-up Addon 如果不能更新,则需要修改HOST: 117.18.232.191 ...
- python-操作MySQL数据库
1.安装MySQLdb? 为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL.复制以下代码,并执行: #!/usr/bin/python # -*- coding: UTF-8 -*- ...
- FIFO跨时钟域读写
今天面试,要走时问了我一个问题:如果两个时钟一个时钟慢一个时钟快,来读写FIFO,其中读出的数据是 连续的一段一段的. 图1 图1为写时序控制,可以看出数据是两个时钟周期的长度,当然实际中可以是任意周 ...
- Swift3.0基础语法学习<二>
对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...
- Android Studio 初使用
Android Studio 更改Eclipse快捷键 Android Studio 更改编码 Android Studio 导包
- PHP declare(ticks=N); 的作用
一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种: 1.Zend引擎每执行1条低级语句就去执行一次 register_tick_function ...
- 隐藏 input 标签的边框
css input 如何去掉点击后出现的边框:css文件里加:*:focus { outline: none; } 或 input {outline:none;} 去边框的方法如下 方法1: < ...
- Mysql --分区表(1)
检查是否支持分区 通过如下命令检查的Mysql是否支持partition mysql> SHOW PLUGINS; ... | ARCHIVE | ACTIVE | STORAGE ENGINE ...
- SQL语句汇总(一)——数据库与表的操作以及创建约束
首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉. 前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句.SQL语句虽不能说很多,但稍有时间不写就容易 ...