zoukankan      html  css  js  c++  java
  • 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);

     

             

             

            }

        }

    }

  • 相关阅读:
    建设Kubernetes生产环境的16条建议
    深度长文:深入理解Ceph存储架构
    10个最危险的Linux命令,希望你牢记在心
    完美排查入侵者的 10 个方法和 1 个解决思路
    基于Docker&Kubernetes构建PaaS平台基础知识梳理
    Linux入门进阶
    (七)服务接口调用-OpenFeign
    (六)服务调用负载均衡-Ribbon
    (五)Eureka替换方案-Consul
    (四)Eureka替换方案-Zookeeper
  • 原文地址:https://www.cnblogs.com/dyufei/p/2573963.html
Copyright © 2011-2022 走看看