zoukankan      html  css  js  c++  java
  • SqlDataReader 和SqlDataAdapter 区别

    SqlDataReader和SqlDataAdapter 区别
    一,SqlDataReader //基于连接,只读访问 适合数据量较小。
          SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点
    二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存。
    三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
         SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作
    四,写法上不同:
         SqlDatReader执行前须先打开数据库,然后须生成一个COMMAND对象。再由COMMAND.EXECUTEREADER()方法赋值。完成后须手动关闭联接。
         SqlCommand cmd = new SqlCommand("select * from stu", conn);
                conn.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                。。。。。
                conn.close();
           SqlDataAdapter 执行时,自动打开数据库,且不用Command的ExecuteReader方法进行赋值,完成后自动断开联接。
                SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                adptr.Fill(ds, "stu");
    实例:
    1,运用SqlDataReader 读取数据
    class DataReader
        {
            static void Main()
            {
                string str = "server=localhost;uid=sa;pwd=123;database=northwind";
                SqlConnection conn = new SqlConnection(str);
                SqlCommand cmd = new SqlCommand("select * from stu", conn);
                conn.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                 DataTable table=new Datable();
                table.Load(rdr);
                 rdr.Close();
                conn.Close();
            }
    2,运用SqlDataAdapter +DataSet 读取修改数据
        class SqlDataAdapter
        {
            static void Main()
            {
                string str = "server=localhost;uid=sa;pwd=123;database=northwind";
                SqlConnection conn = new SqlConnection(str);
                string sql = "select * from stu";
                SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);//Adepter对象
                DataSet ds = new DataSet();//DataSet对象
                adptr.Fill(ds, "stu");//填充DataSet 并为当前表命名
                DataTableReader rdr = ds.CreateDataReader();
                while (rdr.Read())//读取表中数据
                {
                    for (int i = 0; i < rdr.FieldCount; i++)
                    {
                        Console.Write(rdr.GetName(i) + " " + rdr.GetValue(i) + " ");
                    }
                    Console.WriteLine();
                }
            }

  • 相关阅读:
    Golang 开发环境安装和配置
    多测师肖老师__接口测试之cms搭建(27.1)
    多测师肖老师__接口测试之fn+f12查看接口(27.2)
    认识wpf中binding类型
    认识wpf的事件
    Jquery对象与Dom对象
    AS3编程中的两种常用事件
    SQL Server 系统表简介
    Winform中ComcoBox控件设置选定项
    wpf开篇入门
  • 原文地址:https://www.cnblogs.com/xixim/p/4617955.html
Copyright © 2011-2022 走看看