ADO.NET——DataSet & DataAdapter

简介: 一,基础知识         在使用ADO.NET访问数据的时候,有两种方法:      1,使用Connection+Command+DataReader方法       使用ADO.NET的Datareader对象能从数据库中检索数据。

一,基础知识


        在使用ADO.NET访问数据的时候,有两种方法:


     1,使用Connection+Command+DataReader方法 


     使用ADO.NET的Datareader对象能从数据库中检索数据。检索出来的数据形成一个只读只进的数据流,存储在客户端的网络缓冲区内。Datareader对象的read方法可以前进到一下条记录。在默认情况下,每执行一次read方法只会在内存中存储一条记录系统的开销非常少。创建datareader之前必须先创建sqlcommand对象,然后调用该对象的executereader方法来构造sqldatareader对象,而不是直接使用构造函数。

    示例:ADO.NET——Command(执行SQL) & DataReader(读取数据库)


  

    2,使用Connection+DataAdapter+DataSet


       使用这种方法,主要是用DataAdapter充当DataSet和数据源之间用于检索和保存数据的桥梁,然后将从数据库中检索到的数据存放到DataSet或者DataTable中,也就是本机的内存中,然后对数据进行检索。这样,相当于数据库中的信息在本机copy之后产生了一个副本。我们使用的是这个副本,最后,才将操作的结果返回数据库。这样节约了网络资源,但是,在有不同用户的并发操作时,就行PV操作那样,由于存在与时间有关的错误,容易造成用户数据不准确。

  

二,DataAdapter+DataSet取代Comman+DataReader访问数据库的示例

static void Main(string[] args)
        {
            //创建连接
            string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //连接字符串

            using (SqlConnection conn = new SqlConnection(strConn)) //建立连接,并且当连接使用完后自动关闭
            {
                conn.Open();  //打开连接

                
                string strSQL = "select * from Users where ID='1'";  //查询语句
            
                SqlDataAdapter adapter = new SqlDataAdapter(strSQL, conn);  //执行查询
                DataSet dataset = new DataSet();  //用来存放查询的数据
                adapter.Fill(dataset);   //将查询的结果转入dataset

                //显示查询结果
                DataTable table = dataset.Tables[0];  //第一张表

                int i=0;    //第一行row=0
                DataRow row = table.Rows[i]; //得到每一行

                string name = Convert.ToString(row["UserName"]);  //将得到的object数据转换成字符串

                Console.WriteLine("ID是:1;UserName是:{0}",name);   //输出ID=‘1’时所对应的UserName

            }
            

        }

 

      与只读的DataReader相比,可以用DataAdapter+DataSet对数据库进行update.

 


目录
相关文章
|
存储 SQL 数据库连接
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
|
XML 存储 数据格式
一起谈.NET技术,XML与DataSet对象的关系
  在.NET Framework 中,经常使用XML 作为存储和传输各种数据的格式。DataSet 中的数据可以转换成XML 的形式来表示和存储。我们可以使用XML 对象同步和转换DataSet 的数据,而DataSet 也可以存储和传输XML 格式的数据。
969 0