(asp.net)我现在正在学习使用分页控件,怎么用基本上了解了,但是方法有些看不懂,他要用到一个返回dataset的方法,这个方法我实在是不会写,或者哪位可以给一些简单的写法,可以很简单的运用分页控件的???AspNetPager(分页控件)
给个例子也行,谢谢了![email protected]

解决方案 »

  1.   

    DataSet? 
    public DataSet GetDataSet()  {  OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:工作项目分析 estdb.mdb;Persist Security Info=True;");  DataSet ds = new DataSet();  try  {  OleDbCommand cmd = conn.CreateCommand();  cmd.CommandText = "select * from t_name";  cmd.CommandType = CommandType.Text;   OleDbDataAdapter da = new OleDbDataAdapter(cmd);  da.Fill(ds);  return ds;  }  catch  {  conn.Close();  throw;  }  }  
      

  2.   

    DataSet ds = new DataSet 
    //填充return ds就可以了.
      

  3.   

    分页就用PageDataSource吧.....
    就像下面这样:
            DataSet ds = SQLHelper.ReturnDataSet(sqlStr);//DataSet由SQLHelper返回,
                                                         sqlstr是数据库操作字符串
            PagedDataSource pds = new PagedDataSource();
            pds.AllowPaging = true;               
            pds.PageSize = 5;                             //每页5条记录
            pds.DataSource = ds.Tables[0].DefaultView;        如果页面前台用的是DataList,Repeater什么的数据绑定控件,直接:
            DataList1.DataSource=pds;
            DataList1.DataBind();
    当然,前台还有加入按钮了,比如下一页,上一页,首页,尾页什么的..............
            
      

  4.   

    http://www.360doc.com/content/09/1006/00/163747_6845021.shtml
    http://www.51aspx.com/Tags/18/SqlHelper源码及使用实例
      

  5.   

    http://topic.csdn.net/u/20100920/11/74868958-242c-4640-9062-fe4a3fa569a6.html?seed=1542523462&r=68534465#r_68534465
      

  6.   

    我自己常用的!#region 准备一个用于执行的命令
            /// <summary>
            /// 准备一个用于执行的命令
            /// </summary>
            /// <param name="cmd">SqlCommand对象</param>
            /// <param name="con">SqlConnection对象</param>
            /// <param name="trans">SqlTransaction事务</param>
            /// <param name="cmdType">CommandType</param>
            /// <param name="cmdText">Sql语句或者存储过程</param>
            /// <param name="cmdParms">SqlParameter</param>
            private static void PrepareCommand(SqlCommand cmd, SqlConnection con, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                cmd.Connection = con;
                cmd.CommandText = cmdText;
                if (trans != null)
                {
                    cmd.Transaction = trans;
                }
                cmd.CommandType = cmdType;
                if (cmdParms != null)
                {
                    foreach (SqlParameter parm in cmdParms)
                    {
                        cmd.Parameters.Add(parm);
                    }
                }
            }
            #endregion
      

  7.   


    #endregion 执行一个ExecuteReader命令        #region 执行一个查询命令,返回DataSet
            /// <summary>
            /// 执行一个查询命令,返回DataSet
            /// </summary>
            /// <param name="cmdType">CommandType</param>
            /// <param name="cmdText">Sql语句或者存储过程</param>
            /// <param name="cmdParms">SqlParameter</param>
            /// <returns>DataSet</returns>
            public static DataSet DataSet(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
            {
                SqlCommand cmd = new SqlCommand();
                DataSet ds = new DataSet();
                using (SqlConnection con = new SqlConnection(dbcon))
                {
                    try
                    {
                        PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParms);
                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        da.Fill(ds);
                        cmd.Parameters.Clear();
                        return ds;
                    }
                    catch
                    {
                        con.Close();
                        throw;
                    }
                }
            }
            #endregion两段代码
      

  8.   

    aspnetpager下载,有详细实例程序
      

  9.   

     SqlConnection con = new SqlConnection("SQL连接数据库");
            con.Open();
            SqlCommand cmd = new SqlCommand("SQL语句", con);
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            DataSet ds = new DataSet();
            sda.Fill(ds, "Data");        PagedDataSource pds = new PagedDataSource();
            pds.DataSource = ds.Tables["Data"].DefaultView;//设置分页的数据源   
            pds.AllowPaging = true;//设置允许分页    
            AspNetPager1.RecordCount = ds.Tables["Data"].DefaultView.Count;
            pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;//设置当前页的索引   
            pds.PageSize = AspNetPager1.PageSize;//设置每页显示的页数   
      

  10.   

            /// <summary>
            /// 查询sql语句,返回DataSet集
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="tablename"></param>
            public static DataSet select(string sql)
            {
                try
                {
                    SqlConnection conn = SqlHelper.Getconn();
                    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    sda.Fill(ds);
                    conn.Close();
                    return ds;
                }
                catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
                finally
                {
                    closeConnection();
                }
            }      
           
            public static DataSet getdataset(string sql)
            {
                try
                {
                    SqlConnection conn = SqlHelper.Getconn();
                    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    sda.Fill(ds);
                    conn.Close();
                    return ds;
                }
                catch (Exception e)
                {
                    throw new Exception(e.Message);            }
                finally
                {
                    closeConnection();
                }
            }
            /// <summary>
            /// 查询sql语句,返回DataSet集  (带参数的)
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static DataSet getdataset(string sql, SqlParameter[] Params)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = new SqlCommand(sql, conn);            if (Params != null)
                {
                    foreach (SqlParameter Parameter in Params)
                        Cmd.Parameters.Add(Parameter);
                }
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(Cmd);
                da.Fill(ds);
                return ds;
            }        /// <summary>
            /// 获取一行的列名
            /// </summary>
            /// <param name="row"></param>
            /// <param name="colname"></param>
            /// <returns></returns>
            public static string ValidateDataRow_S(DataRow row, string colname)
            {
                if (row[colname] != DBNull.Value)
                    return row[colname].ToString();
                else
                    return System.String.Empty;
            }
            //私有方法,获得一个用来调用存储过程的SqlCommand
            //输入:
            //      ProcName - 存储过程名
            //      Params   - 用来调用存储过程的参数表
            private SqlCommand CreateCommand(string ProcName, SqlParameter[] Prams)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = new SqlCommand(ProcName, conn);
                Cmd.CommandType = CommandType.StoredProcedure;            if (Prams != null)
                {
                    foreach (SqlParameter Parameter in Prams)
                        Cmd.Parameters.Add(Parameter);
                }            return Cmd;
            }
            //公有方法,实例化一个用于调用存储过程的参数
            //输入:
            //      ParamName - 参数名称
            //      DbType - 参数类型
            //      Size - 参数大小
            // Direction - 传递方向
            // Value - 值
            public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
            {
                SqlParameter Param;            if (Size > 0)
                    Param = new SqlParameter(ParamName, DbType, Size);
                else Param = new SqlParameter(ParamName, DbType);            Param.Direction = Direction;            if (Value != null)
                    Param.Value = Value;            return Param;
            }
            //公有方法,调用存储过程(不带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            //      对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
            public int RunProc(string ProcName)
            {
                SqlConnection conn = SqlHelper.Getconn();
                int Count = -1;
                SqlCommand Cmd = CreateCommand(ProcName, null);
                Count = Cmd.ExecuteNonQuery();
                closeConnection();
                return Count;
            }        //公有方法,调用存储过程(带参数)
            //输入:
            //      ProcName - 存储过程名
            //      Params   - 用来调用存储过程的参数表
            //输出:
            //      对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
            public int RunProc(string ProcName, SqlParameter[] Params)
            {
                SqlConnection conn = SqlHelper.Getconn();
                int Count = -1;
                SqlCommand Cmd = CreateCommand(ProcName, Params);
                Count = Cmd.ExecuteNonQuery();
               closeConnection();
                return Count;
            }        //公有方法,调用存储过程(不带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            // 将执行结果以SqlDataReader返回
            //注意:使用后主意调用SqlDataReader.Close()方法
            public SqlDataReader RunProcGetReader(string ProcName)
            {
                 SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = CreateCommand(ProcName, null);
                return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            }        //公有方法,调用存储过程(带参数)
            //输入:
            // ProcName - 存储过程名
            //      Params  - 存储过程需要的参数
            //输出:
            // 将执行结果以SqlDataReader返回
            //注意:使用后主意调用SqlDataReader.Close()方法
            public SqlDataReader RunProcGetReader(string ProcName, SqlParameter[] Params)
            {
                 SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = CreateCommand(ProcName, Params);
                return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            }        //公有方法,调用存储过程(不带参数)
            //输入:
            // ProcName - 存储过程名
            //      Params  - 存储过程需要的参数
            //输出:
            // 将执行结果以SqlDataReader返回
            //注意:使用后主意调用SqlDataReader.Close()方法
            public int RunProcGetCount(string ProcName)
            {
                SqlCommand Cmd = CreateCommand(ProcName, null);
                string SCount;
                SCount = Cmd.ExecuteScalar().ToString().Trim();
                if (SCount == "")
                    SCount = "0";
               closeConnection();
                return Convert.ToInt32(SCount);
            }
            //公有方法,调用存储过程(带参数)
            //输入:
            // ProcName - 存储过程名
            //      Params  - 存储过程需要的参数
            //输出:
            // 将执行结果以SqlDataReader返回
            //注意:使用后主意调用SqlDataReader.Close()方法
            public int RunProcGetCount(string ProcName, SqlParameter[] Params)
            {
                SqlCommand Cmd = CreateCommand(ProcName, Params);
                string SCount;
                SCount = Cmd.ExecuteScalar().ToString().Trim();
                if (SCount == "")
                    SCount = "0";
               closeConnection();
                return Convert.ToInt32(SCount);
            }        //公有方法,调用存储过程(不带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            // 将执行结果以DataSet返回    
            public DataSet GetDataSet(string ProcName)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlDataAdapter adapter = new SqlDataAdapter(ProcName, conn);
                DataSet dataset = new DataSet();
                adapter.Fill(dataset);
                SqlHelper.closeConnection();
                return dataset;
            }
            //公有方法,调用存储过程(带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            // 将执行结果以DataSet返回    
            public DataSet GetDataSet(string ProcName, SqlParameter[] Params)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = CreateCommand(ProcName, Params);
                SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
                DataSet dataset = new DataSet();
                adapter.Fill(dataset);
                SqlHelper.closeConnection();
                return dataset;
            }        //公有方法,调用存储过程(不带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            // 将执行结果以DataSet返回    
            public DataTable GetDataTable(string ProcName)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlDataAdapter adapter = new SqlDataAdapter(ProcName, conn);
                DataSet dataset = new DataSet();
                adapter.Fill(dataset, "pagedatasource");
                SqlHelper.closeConnection();
                return dataset.Tables["pagedatasource"];
            }        //公有方法,调用存储过程(带参数)
            //输入:
            // ProcName存储过程名
            //输出:
            // 将执行结果以DataSet返回    
            public DataTable GetDataTable(string ProcName, SqlParameter[] Params)
            {
                SqlConnection conn = SqlHelper.Getconn();
                SqlCommand Cmd = CreateCommand(ProcName, Params);
                SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
                DataSet dataset = new DataSet();
                adapter.Fill(dataset, "pagedatasource");
                SqlHelper.closeConnection();
                return dataset.Tables["pagedatasource"];
            }    }
    }
    我的整个类都给你,里面有那个Dateset的方法,自己找下
    [/code]
      

  11.   

    里面有直接执行sql语句的,有带参数的,有执行存储过程的和存储过程带参数的都有,你自己好好看看我上面的代码
      

  12.   


      /// <summary>
      /// 查询sql语句,返回DataSet集
      /// </summary>
      /// <param name="sql"></param>
      /// <param name="tablename"></param>
      public static DataSet select(string sql)
      {
      try
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
      DataSet ds = new DataSet();
      sda.Fill(ds);
      conn.Close();
      return ds;
      }
      catch (Exception e)
      {
      throw new Exception(e.Message);
      }
      finally
      {
      closeConnection();
      }
      }    
        
      public static DataSet getdataset(string sql)
      {
      try
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
      DataSet ds = new DataSet();
      sda.Fill(ds);
      conn.Close();
      return ds;
      }
      catch (Exception e)
      {
      throw new Exception(e.Message);  }
      finally
      {
      closeConnection();
      }
      }
      /// <summary>
      /// 查询sql语句,返回DataSet集 (带参数的)
      /// </summary>
      /// <param name="sql"></param>
      /// <returns></returns>
      public static DataSet getdataset(string sql, SqlParameter[] Params)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = new SqlCommand(sql, conn);  if (Params != null)
      {
      foreach (SqlParameter Parameter in Params)
      Cmd.Parameters.Add(Parameter);
      }
      DataSet ds = new DataSet();
      SqlDataAdapter da = new SqlDataAdapter(Cmd);
      da.Fill(ds);
      return ds;
      }  /// <summary>
      /// 获取一行的列名
      /// </summary>
      /// <param name="row"></param>
      /// <param name="colname"></param>
      /// <returns></returns>
      public static string ValidateDataRow_S(DataRow row, string colname)
      {
      if (row[colname] != DBNull.Value)
      return row[colname].ToString();
      else
      return System.String.Empty;
      }
      //私有方法,获得一个用来调用存储过程的SqlCommand
      //输入:
      // ProcName - 存储过程名
      // Params - 用来调用存储过程的参数表
      private SqlCommand CreateCommand(string ProcName, SqlParameter[] Prams)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = new SqlCommand(ProcName, conn);
      Cmd.CommandType = CommandType.StoredProcedure;  if (Prams != null)
      {
      foreach (SqlParameter Parameter in Prams)
      Cmd.Parameters.Add(Parameter);
      }  return Cmd;
      }
      //公有方法,实例化一个用于调用存储过程的参数
      //输入:
      // ParamName - 参数名称
      // DbType  - 参数类型
      // Size  - 参数大小
      //  Direction - 传递方向
      //  Value  - 值
      public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
      {
      SqlParameter Param;  if (Size > 0)
      Param = new SqlParameter(ParamName, DbType, Size);
      else Param = new SqlParameter(ParamName, DbType);  Param.Direction = Direction;  if (Value != null)
      Param.Value = Value;  return Param;
      }
      //公有方法,调用存储过程(不带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      // 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
      public int RunProc(string ProcName)
      {
      SqlConnection conn = SqlHelper.Getconn();
      int Count = -1;
      SqlCommand Cmd = CreateCommand(ProcName, null);
      Count = Cmd.ExecuteNonQuery();
      closeConnection();
      return Count;
      }  //公有方法,调用存储过程(带参数)
      //输入:
      // ProcName - 存储过程名
      // Params - 用来调用存储过程的参数表
      //输出:
      // 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
      public int RunProc(string ProcName, SqlParameter[] Params)
      {
      SqlConnection conn = SqlHelper.Getconn();
      int Count = -1;
      SqlCommand Cmd = CreateCommand(ProcName, Params);
      Count = Cmd.ExecuteNonQuery();
      closeConnection();
      return Count;
      }  //公有方法,调用存储过程(不带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      //  将执行结果以SqlDataReader返回
      //注意:使用后主意调用SqlDataReader.Close()方法
      public SqlDataReader RunProcGetReader(string ProcName)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = CreateCommand(ProcName, null);
      return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
      }  //公有方法,调用存储过程(带参数)
      //输入:
      //  ProcName - 存储过程名
      // Params  - 存储过程需要的参数
      //输出:
      //  将执行结果以SqlDataReader返回
      //注意:使用后主意调用SqlDataReader.Close()方法
      public SqlDataReader RunProcGetReader(string ProcName, SqlParameter[] Params)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = CreateCommand(ProcName, Params);
      return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
      }  //公有方法,调用存储过程(不带参数)
      //输入:
      //  ProcName - 存储过程名
      // Params  - 存储过程需要的参数
      //输出:
      //  将执行结果以SqlDataReader返回
      //注意:使用后主意调用SqlDataReader.Close()方法
      public int RunProcGetCount(string ProcName)
      {
      SqlCommand Cmd = CreateCommand(ProcName, null);
      string SCount;
      SCount = Cmd.ExecuteScalar().ToString().Trim();
      if (SCount == "")
      SCount = "0";
      closeConnection();
      return Convert.ToInt32(SCount);
      }
      //公有方法,调用存储过程(带参数)
      //输入:
      //  ProcName - 存储过程名
      // Params  - 存储过程需要的参数
      //输出:
      //  将执行结果以SqlDataReader返回
      //注意:使用后主意调用SqlDataReader.Close()方法
      public int RunProcGetCount(string ProcName, SqlParameter[] Params)
      {
      SqlCommand Cmd = CreateCommand(ProcName, Params);
      string SCount;
      SCount = Cmd.ExecuteScalar().ToString().Trim();
      if (SCount == "")
      SCount = "0";
      closeConnection();
      return Convert.ToInt32(SCount);
      }  //公有方法,调用存储过程(不带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      //  将执行结果以DataSet返回   
      public DataSet GetDataSet(string ProcName)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlDataAdapter adapter = new SqlDataAdapter(ProcName, conn);
      DataSet dataset = new DataSet();
      adapter.Fill(dataset);
      SqlHelper.closeConnection();
      return dataset;
      }
      //公有方法,调用存储过程(带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      //  将执行结果以DataSet返回   
      public DataSet GetDataSet(string ProcName, SqlParameter[] Params)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = CreateCommand(ProcName, Params);
      SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
      DataSet dataset = new DataSet();
      adapter.Fill(dataset);
      SqlHelper.closeConnection();
      return dataset;
      }  //公有方法,调用存储过程(不带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      //  将执行结果以DataSet返回   
      public DataTable GetDataTable(string ProcName)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlDataAdapter adapter = new SqlDataAdapter(ProcName, conn);
      DataSet dataset = new DataSet();
      adapter.Fill(dataset, "pagedatasource");
      SqlHelper.closeConnection();
      return dataset.Tables["pagedatasource"];
      }  //公有方法,调用存储过程(带参数)
      //输入:
      //  ProcName存储过程名
      //输出:
      //  将执行结果以DataSet返回   
      public DataTable GetDataTable(string ProcName, SqlParameter[] Params)
      {
      SqlConnection conn = SqlHelper.Getconn();
      SqlCommand Cmd = CreateCommand(ProcName, Params);
      SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
      DataSet dataset = new DataSet();
      adapter.Fill(dataset, "pagedatasource");
      SqlHelper.closeConnection();
      return dataset.Tables["pagedatasource"];
      }  }
    }
    我的整个类都给你,里面有那个Dateset的方法,自己找下,这样的代码方式更容易看一点