• SqlDataReader 类


    SqlDataReader类实现只向前、只读的游标样式模型,读取并遍历SQL Server返回的结果集。创建 SqlDataReader对象必须用 SqlCommand 对象的 ExecuteReader 方法来实例化SqlDataReader。

    如: SqlDataReader rdr = cmd.ExecuteReader();//来实例化SqlDataReader。

    1、SqlDataReader对象的特点

    (1)SqlDataReader对象只能向前读取数据。也就是只能往下读知道读完,而不能回头读取先前的记录。

    (2)SqlDataReader对象是只读的,不能对其中的结果集进行修改或删除。

    (3)SqlDataReader对象只能直接将结果集传递给显示对象,而不能在IIS的内容中保持数据。

    (4)SqlDataReader通过Boolean方法Read逐条访问记录,Read返回false则不再有数据读取。

    2、SqlDataReader的属性

    QQ截图未命名

     

    3、使用SqlDataReader对象时注意点

    (1)当使用完SqlDataReader对象时应立即调用close()方法将其关闭。(因为在未关闭之前,与SqlDataReader对象关联的 SqlConnection 一直为其服务,对 SqlConnection 无法执行任何其他操作)。

    (2)当创建多个SqlDataReader对象时必须每个对象创建一个SqlConnection 连接对象。(因为一个SqlConnection 连接对象只能被一个SqlDataReader对象使用)。

    (3)如果实例化SqlDataReader对象的是存储过程的返回值或输出参数时,须调用SqlDataReader的Close()方法后才能准确的获得存储过程的返回值或者输出参数。

    (4)如果要在SqlDataReader对象中的数据未读取完之前关闭SqlDataReader对象,则应Command对象的Cancel()方法,然后再关闭SqlDataReader对象。

    (5)读取SqlDataReader对象时尽量使用和数据库字段类型匹配的方法,以减少类型转换。

    4、实例

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.Data.SqlClient;

     

    namespace sqlconnection1

    {

        class Program

        {

            private void SQLConnectionF(string source, string select)

            {

                SqlConnection con = new SqlConnection(source);

                try

                {

                    con.Open();

                    Console.WriteLine("connection is successful!");

                }

                catch (Exception e)

                {

                    Console.WriteLine("connection error is :{0}", e.ToString());

     

                }

                SqlCommand sqlcmd = new SqlCommand(select, con);

                SqlDataReader reader = sqlcmd.ExecuteReader();

     

                while (reader.Read())

                {

                    Console.WriteLine("name:{0,-20} number{1,-10} low:{2,-10} high:{3}", reader[0], reader[1],reader[2],reader[3]);

                }

     

                Console.ReadLine();

                con.Close();

            }

            static void Main(string[] args)

            {

                string sou = "server=duanyf//SQLEXPRESS;" + "Initial Catalog=master;" + "UID = sa;"+"Password = dyf123";

                string sel = "SELECT name,number,low,high From dbo.spt_values";

                Program sqlcon = new Program();

                sqlcon.SQLConnectionF( sou,sel);

     

             

             

            }

        }

    }

  • 相关阅读:
    GetHub下载不成功
    Cache 判断Ip几分钟内攻击次数
    .net 通过Url获取站点json数据
    Linq 读取Xml 数据
    ef Linq 自定义字段列表
    面试的心得
    触发器--单独字段变化另一个字段也变化
    Ajax跨域 取值 Jsonp的定义注意事项
    asp.net里,各种下载方式汇总
    c# 获取硬件信息
  • 原文地址:https://www.cnblogs.com/dyufei/p/2573963.html
Copyright © 2020-2023  润新知