导航

SqldataReader的数据源支持不分页

Posted on 2006-10-24 12:34  madduck  阅读(433)  评论(1编辑  收藏  举报

  public SqlDataReader DisplayShoppingCart(string cartID)
  {
   //创建数据库连接和命令的对象
   SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
   SqlCommand myCommand = new SqlCommand("DisplayShoppingCart", myConnection);

   //指明Sql命令的操作类型是使用存储过程
   myCommand.CommandType = CommandType.StoredProcedure;

   //给存储过程添加参数
   SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
   parameterCartID.Value = cartID;
   myCommand.Parameters.Add(parameterCartID);

   //打开数据库连接
   myConnection.Open();
   //执行数据操作命令
   //SqlDataReader读取数据到记录集后,会自动关闭数据库的连接
   SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

   //返回DataReader的结果
   return result;
  }

//由于SqldataReader的数据源支持不分页只好改了PagedDataSource


        public PagedDataSource DisplayShoppingCart(string cartID)
  {

   SqlConnection myConnection = new SqlConnection(ConfigurationManager.AppSettings["connstr"]);
            SqlDataAdapter da = new SqlDataAdapter("DisplayShoppingCart", myConnection);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;

            SqlParameter parameterCartID = new SqlParameter("@CartID", SqlDbType.NVarChar, 50);
            parameterCartID.Value = cartID;
            da.SelectCommand.Parameters.Add(parameterCartID);

            myConnection.Open();

                      
            DataSet ds = new DataSet();
            da.Fill(ds);
            myConnection.Close();
            PagedDataSource result = new PagedDataSource();
            result.DataSource = ds.Tables[0].DefaultView ;
           
   return result;
  }