ADO-dataReader

connectionPool.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Diagnostics;

namespace ADO_dataReader
{
    public partial class connectionPool : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
              string constr = "data source=.;initial catalog=School;User ID=sa;Password=842674;"; //Pooling=false";
              using(SqlConnection con=new SqlConnection(constr))
             {
                  string sql = "select * from Class3";
                  using(SqlCommand cmd=new SqlCommand(sql,con))
                  {
                      con.Open();
                      using(SqlDataReader reader=cmd.ExecuteReader())
                      {
                          if(reader.HasRows)
                          {
                              int c3=reader.GetOrdinal("cdesc");//使用列名的部分要放在循环外面,为了提高循环内的效率
                              while(reader.Read())
                              {
                                    #region 弱类型方法getValue()和索引
                                  //Response.Write(reader.GetValue(0).ToString());//能用getvalue的时候直接使用getvalue
                                  //Response.Write(reader[1].ToString());
                                  //Response.Write(reader[c3].ToString());
                                    #endregion
                                  #region 强类型方法 要考虑NULL的情况。考虑字段类型和赋值的变量类型。
                                  float id = reader.GetInt32(0);
                                  //double id= reader.getfloat(0); 数据类型必须能够接受sql中返回的数据的数据类型。如果数据库中对应的类型是float类型,接收的时候就不能用float,因为数据库中的float比net中的 float范围大,此时需要使用Double来接收。
                                  string cName = reader.GetString(1);
                                  string cDesc = reader.IsDBNull(2) ? "空" : reader.GetString(2);
                                  Response.Write(id.ToString() + "--" + cName + "--" + cDesc);

                                  #endregion
                                    Response.Write("<br>");
                              }

                          }


                      }
                  }
             }

            }
        }
    }
                      
 
}

 

 

 

dataReader.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace ADO_dataReader
{
    public partial class dataReader : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string constr = "data source=.;initial catalog=School;User ID=sa;Password=842674";
                using (SqlConnection con = new SqlConnection(constr))
                {
                    string sql = "select * from Class3";
                    using(SqlCommand cmd=new SqlCommand(sql,con))
                    {
                      con.Open();
                      using(SqlDataReader reader=cmd.ExecuteReader())
                      {
                        if(reader.HasRows)
                        {
                            int c3 = reader.GetOrdinal("cdesc");//使用列明的部分要放在循环外面,为了提高循环内的效率
                            while(reader.Read())
                           {
                                 #region 弱类型方法getValue()和索引
                                 //Response.Write(reader.GetValue(0).ToString());//能用getvalue的时候直接使用getvalue
                                 //Response.Write(reader[1].ToString());
                                 //Response.Write(reader["c3"].ToString());
                                   #endregion
                                 #region 强类型方法 要考虑NULL的情况,考虑字段类型和赋值的变量类型
                                 float id = reader.GetInt32(0);
                                 //double id = reader.GetFloat(0);数据类型必须能够接受sql中返回的数据的数据类型。如果数据库中对应的类型是float类型,接收的时候就不能用float,因为数据库中的float比net中的 float范围大,此时需要使用Double来接收。
                                 string cname = reader.GetString(1);
                                 string cdesc = reader.IsDBNull(2) ? "空" : reader.GetString(2);
                                 Response.Write(id.ToString()+"--"+cname+"--"+cdesc);

                              #endregion   
                             Response.Write("<br>");
                         }
                        }
                      }
                   
                    }
                }
            }
        }
    }
}

 

lianxi2.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace ADO_dataReader
{
    public partial class Lianxi2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string constr = "data source=.;initial catalog=School;User ID=sa;Password=842674";
            using (SqlConnection con = new SqlConnection(constr))
            {
                string sql = "select * from Student;select * from Class3";
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                   con.Open();
                   using (SqlDataReader reader = cmd.ExecuteReader())
                  {
                      if (reader.HasRows)
                      {
                          #region 读取多个结果集的方法
                          //do----while,do中先来读取第一个结果集,while(reader.NextResult())中判断是否还有结果集,如果有在do中再次读取第二个结果集,依次类推...
                          do
                          {
                              if(reader.HasRows)
                              {

                                  while (reader.Read())
                                 {

                                    //内层循环获取列

                                  for (int i = 0; i < reader.FieldCount; i++)
                                  {
                                    Response.Write(reader.GetValue(i));
                                  }
                                  Response.Write("<br>");
                          }
                      }
                  }
                          while(reader.NextResult());

                          #endregion

                          #region 读取一个结果集的方法
                           //while (reader.Read())
                             //{
                             //    //内层循环获取列

                             //    for (int i = 0; i < reader.FieldCount; i++)
                             //    {
                             //        Response.Write(reader.GetValue(i));
                             //    }
                             //    Response.Write("<br>");
                             //}
                         #endregion
                      }

                  }
                }
            }
        }
    }
}
                              
                           
                         
                     
                 
               
              
           
       

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值