(asp.net)我现在正在学习使用分页控件,怎么用基本上了解了,但是方法有些看不懂,他要用到一个返回dataset的方法,这个方法我实在是不会写,或者哪位可以给一些简单的写法,可以很简单的运用分页控件的???AspNetPager(分页控件)
给个例子也行,谢谢了![email protected]
给个例子也行,谢谢了![email protected]
解决方案 »
- 关于虚拟路径的问题
- 请问一个关于ASP.NET AJAX刷新“最新消息“的问题
- 为什么页面刷新会执行按钮事件代码?
- 登陆界面的简单问题
- 有没有录制教学片的软件?把软件操作步骤全部清晰的录下来,展现给观众
- 如何在vb.net中使用SQLDMO来连接.mdf文件
- visual studio.net 检测到web服务器运行的是asp.net 1.0版。您要创建或打开的web应
- 请问如何在用ASP.Net/C#开发的MIS系统中出Excell报表?[在线等]
- 一个十分难,而且令人难以相信的事情.
- 求救!显示后台数据,在线等待!等……
- 关于anthem.net中的数据绑定
- 求一正则,匹配除汉字以外的所有字符
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; } }
//填充return ds就可以了.
就像下面这样:
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();
当然,前台还有加入按钮了,比如下一页,上一页,首页,尾页什么的..............
http://www.51aspx.com/Tags/18/SqlHelper源码及使用实例
/// <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
#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两段代码
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;//设置每页显示的页数
/// 查询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]
/// <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的方法,自己找下,这样的代码方式更容易看一点