设为首页 加入收藏

TOP

浅谈ADO.NET中的对象――Connection、Command、DataReader、DataAdapter、DataSet、DataTable(二)
2014-11-24 07:47:59 来源: 作者: 【 】 浏览:8
Tags:浅谈 ADO.NET 对象 Connection Command DataReader DataAdapter DataSet DataTable
的时候,DataAdapter再将更新后的数据搬回给数据库(即对数据库进行更新)。

我们可以通过三种方法来创建DataAdapter对象(参考)

1、通过数据库连接字符串和查询语句来创建:

    string strConn,cmdText;
    strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456";
    cmdText="select * from TableName";
    SqlDataAdapter sda=new SqlDataAdapter(cmdText,strConn);

通过观察下面第二种方法就会发现,这种方法有个缺点,如果系统中需要创建多个SqlDataAdapter对象的话,在每次创建SqlDataAdapter对象时,都会“隐式”创建一个SqlConnection对象。

2、通过SqlConnection对象来创建:

    string strConn,cmdText;
    strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456";
    cmdText="select * from TableName";
    SqlConnection conn=new SqlConnection(strConn);
    SqlDataAdapter sda=new SqlDataAdapter(cmdText,conn);

这种方法与第一种方法唯一区别就是多创建了一个SqlConnection对象,这样做的好处是,如果需要再次创建多个SqlDataAdapter对象,只需要改变查询语句cmdText就行,第二个参数还可以使用同一个SqlConnection对象conn,节省系统资源。

3、通过SqlCommand对象来创建:

    string strConn,cmdText;
    strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456";
    cmdText="select * from TableName";
    SqlConnection conn=new SqlConnection(strConn);
    SqlCommand cmd=new SqlCommand(cmdText,conn);
    SqlDataAdapter sda=new SqlDataAdapter(ccmd);

更多关于SqlDataAdapter的细节可参考:SqlDataAdapter对象

DataSet与DataTable】

上面说到的DataReader与SqlCommand一块使用,只能“读取”数据,而无法保存。DataSet可以被认为是内存中的“数据库”,也可以说是数据表的集合。在与SqlDataAdapter断开连接的情况下,DataSet提供了和关系数据库一样的关系数据模型。DataSet由一个或多个表组成,这些表就是DataTable,数据库表DataTable则由DataRow和DataColumn组成。

下面写一个遍历DataSet的并输出例子(对DataSet写入也是同样的道理):

    DataSet ds=new DataSet();         //实例化DataSet
    //……                            //查询操作(填充DataSet)
    DataTable dt=ds.Tables[0];        //获取DataSet的第一张表(注意第一张表下标为0)
    //遍历行
    foreach(DataRow dr in dt.Rows)
    {
         //遍历列
         for(int i=0;i");
    }

小结

再次引用一下这张图:

\

SqlDataReader通常和SqlCommand一同使用,常用语简单浏览并且耗时较短的数据库操作。

DataSet长与SqlDataAdapter一同使用,DataSet会将所需数据读取到内存然后断开与SqlDataAdapter的连接,在本地内存进行操作,如需更新时在重新通过SqlDataAdapter刷新数据库。

同时,SqlDataReader、DataSet、DataTable都可以当做数据源直接赋值给某些控件的DataSource属性。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Mongodb对应sql操作 下一篇配置mongodb语句

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)
·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)