博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例
阅读量:4617 次
发布时间:2019-06-09

本文共 1805 字,大约阅读时间需要 6 分钟。

DataAdapter对象代码示例

下面的代码将说明如何利用DataAdapter对象填充DataSet对象。

private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"string sqlstr=" select * from USER ";//利用构造函数,创建DataAdapterSqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);// 创建DataSetDataSet ds=new DataSet();//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabbleda.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 ";//利用构造函数,创建DataAdapterSqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);// 创建DataSetDataSet ds=new DataSet();//填充,第一个参数是要填充的dataset对象,第二个参数是填充dataset的datatabbleda.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属性来执行更新操作。

 

转载于:https://www.cnblogs.com/zi-xing/p/4058129.html

你可能感兴趣的文章
Notepad++使用NppFTP插件编辑linux上的文件
查看>>
NPOI 操作Excel
查看>>
MySql【Error笔记】
查看>>
vue入门
查看>>
JS线程Web worker
查看>>
Flex的动画效果与变换!(三)(完)
查看>>
mysql常见错误码
查看>>
Openresty 与 Tengine
查看>>
使用XV-11激光雷达做hector_slam
查看>>
布局技巧4:使用ViewStub
查看>>
ddt Ui 案例2
查看>>
拿下主机后内网的信息收集
查看>>
LeetCode 876. Middle of the Linked List
查看>>
作业一
查看>>
joj1023
查看>>
动画原理——旋转
查看>>
Finding LCM LightOJ - 1215 (水题)
查看>>
python生成器
查看>>
PowerDesigner Constraint name uniqueness 错误
查看>>
系统子系统_GPRS子系统流程图
查看>>