一般项目的一层开发(将三层汇集到一层),巧妙运用 SqlDataReader

  public void padding(string tbname, string FieldKey, string FieldShow, string Where, string FieldOrder, int PageCurrent, int PageSize)
    {
        SqlConnection connection = DB.CreatCon();
        connection.Open();

        SqlCommand command = new SqlCommand("P_viewPage", connection);
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.Add(new SqlParameter("@TableName", SqlDbType.VarChar, 500));
        command.Parameters["@TableName"].Value = tbname;
        command.Parameters.Add(new SqlParameter("@PrimaryKey", SqlDbType.VarChar, 500));
        command.Parameters["@PrimaryKey"].Value = FieldKey;
        command.Parameters.Add(new SqlParameter("@FieldList", SqlDbType.VarChar, 800));
        command.Parameters["@FieldList"].Value = FieldShow;
        command.Parameters.Add(new SqlParameter("@Where", SqlDbType.VarChar, 800));
        command.Parameters["@Where"].Value = Where;
        command.Parameters.Add(new SqlParameter("@Order", SqlDbType.VarChar, 800));
        command.Parameters["@Order"].Value = FieldOrder;
        command.Parameters.Add(new SqlParameter("@SortType", SqlDbType.VarChar, 800));
        command.Parameters["@SortType"].Value = 2;
        command.Parameters.Add(new SqlParameter("@RecorderCount", SqlDbType.VarChar, 800));
        command.Parameters["@RecorderCount"].Value = 0;
        command.Parameters.Add(new SqlParameter("@PageIndex", SqlDbType.Int));
        command.Parameters["@PageIndex"].Value = PageCurrent;
        command.Parameters.Add(new SqlParameter("@PageSize", SqlDbType.Int));
        command.Parameters["@PageSize"].Value = PageSize;
        command.Parameters.Add(new SqlParameter("@TotalPageCount", SqlDbType.Int));
        command.Parameters["@TotalPageCount"].Direction = ParameterDirection.Output;
        command.Parameters.Add(new SqlParameter("@TotalCount", SqlDbType.Int));
        command.Parameters["@TotalCount"].Direction = ParameterDirection.Output;

        try
        {
            SqlDataReader reader = command.ExecuteReader(); 注意:// 返回的是一个datareader。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
            this.rp_college.DataSource = reader;
            this.rp_college.DataBind();
        }
        catch
        { }
        finally
        {
            connection.Close();
            connection.Dispose();
        }
        this.lb_allpage.Text = Convert.ToString(command.Parameters["@TotalPageCount"].Value);
        this.lb_count.Text = Convert.ToString(command.Parameters["@TotalCount"].Value);
    }

第二层:

public Model.Collections.HotelOrderInfoCollection OrderList(Model.HotelOrderInfo Info,int Page,int PageSize,out int Count,out int allroomcount,out int allorderprice,out int allfloorprice,out int xuzhucount)
  {
      
   SqlParameter[] param = new SqlParameter[]
    {
     new SqlParameter("@InTime",SqlDbType.VarChar,20),
     new SqlParameter("@OutTime",SqlDbType.VarChar,20),
     new SqlParameter("@UserName",SqlDbType.VarChar,100),
     new SqlParameter("@UserCard",SqlDbType.VarChar,50),
     new SqlParameter("@UserNickName",SqlDbType.VarChar,50),
     new SqlParameter("@UserMobile",SqlDbType.VarChar,20),
     new SqlParameter("@UserOrderNum",SqlDbType.VarChar,20),
     new SqlParameter("@HotelName",SqlDbType.VarChar,100),
     new SqlParameter("@OrderState",SqlDbType.VarChar,2),
     new SqlParameter("@Page",SqlDbType.Int),
     new SqlParameter("@PageSize",SqlDbType.Int),
     new SqlParameter("@SqlSTR",SqlDbType.VarChar,5000),
     new SqlParameter("@UserId",SqlDbType.VarChar,10),
     new SqlParameter("@DFGongSi",SqlDbType.VarChar,20),
     new SqlParameter("@DFYuan",SqlDbType.VarChar,20),
     new SqlParameter("@IsUser",SqlDbType.VarChar,10),
     new SqlParameter("@HotelId",SqlDbType.Int),
     new SqlParameter("@MenList",SqlDbType.VarChar,100),
     new SqlParameter("@RoomId",SqlDbType.Int),
     new SqlParameter("@Type",SqlDbType.Int),
     new SqlParameter("@BackFax",SqlDbType.Int),
     new SqlParameter("@Special",SqlDbType.Int),
        new SqlParameter("@isp",SqlDbType.NVarChar,4),
        new SqlParameter("@fangwan",SqlDbType.Int)
    };
   param[0].Value  = Info.InTime;
   param[1].Value  = Info.OutTime;
   param[2].Value  = Info.UserName;
   param[3].Value  = Info.UserCard;
   param[4].Value  = Info.UserRname;
   param[5].Value  = Info.UserMobile;
   param[6].Value  = Info.OrderNum;
   param[7].Value  = Info.HotelName;
   param[8].Value  = Info.Order_State;
   param[9].Value  = Page;
   param[10].Value  = PageSize;
   param[11].Direction = System.Data.ParameterDirection.Output;
   param[12].Value  = Info.UserId;
   param[13].Value  = Info.YuDingGongSi;
   param[14].Value  = Info.YuDingYuan;
   param[15].Value  = Info.IsUser;
   param[16].Value  = Info.HotelId;
   param[17].Value  = Info.MenList;
   param[18].Value  = Info.RoomId;
   param[19].Value  = Info.Type;
   param[20].Value  = Info.BackFax;
   param[21].Value  = Info.Special;
            param[22].Value  = Info.isp;
   if(Info.fangwan =="" || Info.fangwan ==null)
   {
    param[23].Value=-1;
   }
   else{
   param[23].Value  = Convert.ToInt32(Info.fangwan);
   }
            Model.Collections.HotelOrderInfoCollection Co = new JsSys.Model.Collections.HotelOrderInfoCollection();
   using (System.Data.SqlClient.SqlConnection Conn = ICon.Conn)
   {
    SqlDataReader dr = SqlHelper.ExecuteReader(Conn,CommandType.StoredProcedure,"Sp_SearchOrder1",param);
    if (dr.Read())         注意:返回的第一个数据集 sqldatareader
    {
     Count=Convert.ToInt32(dr[0].ToString());
    }
    else
    {
     Count = 0;
    }

    this.rp_college.DataSource =     dr.NextResult();   注意:返回的第二个数据集 sqldatareader

    this.rp_college.DataBind();
    while (dr.Read())
    {
     Co.Add(this.FillOrderInfo(dr));
    }

    dr.NextResult();    注意:返回的第三个数据集 sqldatareader

    try
    {
     if (dr.Read())
     {
      
      allroomcount = Convert.ToInt32(Math.Round(Convert.ToDouble(dr[0].ToString()),0));
      allorderprice =Convert.ToInt32(Math.Round(Convert.ToDouble(dr[1].ToString()),0));
      allfloorprice = Convert.ToInt32(Math.Round(Convert.ToDouble(dr[2].ToString()),0));

      try
      {
       xuzhucount = (int)dr[3];
      }
      catch
      {
       xuzhucount = 0;
      }
      }
     else
     {
      allroomcount = 0;
      allorderprice = 0;
      allfloorprice=0;
      xuzhucount = 0;
     }
    }
    catch
    {
     allroomcount = 0;
     allorderprice = 0;
     allfloorprice=0;
     xuzhucount = 0;
    }    
   }


   return Co;

  }

 

汇总:

public void getdata(){

  SqlParameter[] param = new SqlParameter[]
    {
     new SqlParameter("@OrderNum",SqlDbType.VarChar,20),
     new SqlParameter("@Mobile",SqlDbType.VarChar,20),
     new SqlParameter("@MenList",SqlDbType.VarChar,100)
    };
   param[0].Value = Info.OrderNum;
   param[1].Value = Info.UserMobile;
   param[2].Value = Info.MenList;
   using (SqlConnection Conn = ICon.Conn)
   {
    SqlDataReader dr = SqlHelper.ExecuteReader(Conn,CommandType.StoredProcedure,"Sp_GetFreeOrderList",param)

    if (dr.Read())         注意:返回的第一个数据集 sqldatareader
    {
     Count=Convert.ToInt32(dr[0].ToString());
    }
    else
    {
     Count = 0;
    }

    dr.NextResult();   注意:返回的第二个数据集 sqldatareader

    dr.NextResult();  注意:返回的第三个数据集 sqldatareader
 try
    {
     if (dr.Read())
     {
      
      allroomcount = Convert.ToInt32(Math.Round(Convert.ToDouble(dr[0].ToString()),0));
      allorderprice =Convert.ToInt32(Math.Round(Convert.ToDouble(dr[1].ToString()),0));
      allfloorprice = Convert.ToInt32(Math.Round(Convert.ToDouble(dr[2].ToString()),0));

      try
      {
       xuzhucount = (int)dr[3];
      }
      catch
      {
       xuzhucount = 0;
      }
      }
     else
     {
      allroomcount = 0;
      allorderprice = 0;
      allfloorprice=0;
      xuzhucount = 0;
     }
    }
    catch
    {
     allroomcount = 0;
     allorderprice = 0;
     allfloorprice=0;
     xuzhucount = 0;
    }    
   }

 

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值