zoukankan      html  css  js  c++  java
  • 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属性来执行更新操作。

  • 相关阅读:
    系统的访问
    tomcat 和 数据库的连接
    实体类编写规则
    webmagic 爬虫
    docker安装官方Redis镜像并启用密码认证
    解决Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. 问题
    Springboot配置druid报错Failed to bind properties under 'spring.datasource' to javax.sql.DataSource
    阿里云centos7.6搭建SVN远程仓库和Git远程仓库
    java 三大特性封装继承多态
    使用easyui tab需要注意的问题
  • 原文地址:https://www.cnblogs.com/zi-xing/p/4058129.html
Copyright © 2011-2022 走看看