zoukankan      html  css  js  c++  java
  • ExecuteReader方法

    ExecuteReader() 方法

        解释1:将SQL语句发送到指定连接 生成一个SqlDataReader对象
               解释2:当ExecuteReader()执行后返回一个SqlDataReader对象
               两种解释实际上都在说明些方法就是给SqlDataReader对象一个可以访问查询到的结果的渠道。

     程序执行分析
    1、首先需要new一个SqlDataReader对象。接收ExecuteReader()执行后返回的SqlDataReader对象。
    2、SqlDataReader的HasRows属性可以判断SqlDataReader中是否有(一行或多行)数据,返回bool值,有数据时为true,程序向下执行,开始进入读取数据环节。
    3、SqlDataReader的Read方法可以使SqlDataReader前进到下一条记录,同样返回bool值,当下一条无记录返回false,则表示记录读取完毕;当下一条有数据时为true,将读取到的数据(当前的一条记录)暂存在SqlDataReader中。
    4、SqlDataReader的一系列get方法可以获取SqlDataReader中不同类型的值,保存到指定的变量中。
    注:get方法参数为列数,即第几列。

    还有一点很重要,DataReader必须保证SqlConnection处于连接状态。


    class Program { static void Main(string[] args) { string constr = @"server=.SQLEXPRESS;database=MyDataBase;uid=sa;pwd=sa"; //string constr = @"server=.SQLEXPRESS;database=MyDataBase;Integrated Security=True"; using (SqlConnection sqlconn = new SqlConnection(constr)) { string cmdstr = @"select * from Student"; using (SqlCommand cmd = new SqlCommand(cmdstr, sqlconn)) { if (sqlconn.State == ConnectionState.Closed) { sqlconn.Open(); } SqlDataReader reader= cmd.ExecuteReader(); if (reader.HasRows)//HasRows判断reader中是否有数据 { while(reader.Read()) //Read()方法读取下一条记录,如果没有下一条,返回false,则表示读取完成 { int id = reader.GetInt32(0); string name = reader.GetString(1); string gender = reader.GetBoolean(3) == true ? "男" : "女"; //运用了三元表达式 int age = reader.GetInt32(2); Console.WriteLine(" {0} {1} {2} {3} ",id,name,gender,age); } Console.ReadKey(); } } } } }

      并非本人所写,转载出自原文作者“新起点”,原文链接:http://www.cnblogs.com/net515/archive/2012/06/14/2549267.html

  • 相关阅读:
    android自定义TabView实现圆角列表
    自己封装的android客户端http网络框架
    android中无限循环滑动的gallery实例
    Android软键盘遮挡布局的那些事
    Android开发艺术2之Activity的启动模式
    各位Coder看过来
    Android开发艺术1之Activity的生命周期
    H5与Android之间的交互
    Android中那些有你不知道的事
    Xmpp实现简单聊天系列 --- ②用户注册和登陆
  • 原文地址:https://www.cnblogs.com/vivi-lxm/p/5090893.html
Copyright © 2011-2022 走看看