c#.net web 开发 常用函数库
返回制定页码的数据集:
Code
/**//// <summary>
/// 返回数据集
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet GetData(string sql,string strconn)
{
OleDbConnection ole=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+strconn);
ole.Open();
OleDbCommand cm=new OleDbCommand(sql,ole);
DataSet ds=new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter(cm);
da.Fill(ds);
ole.Close();
return ds;
}
/**//// <summary>
/// 分页
/// </summary>
/// <param name="pagesize">每页大小</param>
/// <param name="pageindex">当前页数</param>
/// <param name="field">获取字段名</param>
/// <param name="tablename">表名</param>
/// <param name="orderfield">排序字段</param>
/// <param name="taxis">排序方式,true为升序,false为降序</param>
/// <param name="condition">满足的条件</param>
/// <returns></returns>
public DataSet GetPage(int pagesize,int pageindex,string field,string tablename,string orderfield,bool taxis,string condition)
{
string temp;
if(taxis)
{
temp="asc";
}
else
{
temp="desc";
}
string sql;
if(pageindex==1)
{
if(condition=="")
{
sql="select top "+pagesize+" "+field+" from "+tablename+" order by "+orderfield+" "+temp;
return GetData(sql);
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp;
return GetData(sql);
}
}
else
{
pageindex=(pageindex-1)*pagesize;
if(condition=="")
{
if(taxis)
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
return GetData(sql);
}
else
{
if(taxis)
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
return GetData(sql);
}
}
}
/**//// <summary>
/// 返回数据集
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet GetData(string sql,string strconn)
{
OleDbConnection ole=new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+strconn);
ole.Open();
OleDbCommand cm=new OleDbCommand(sql,ole);
DataSet ds=new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter(cm);
da.Fill(ds);
ole.Close();
return ds;
}
/**//// <summary>
/// 分页
/// </summary>
/// <param name="pagesize">每页大小</param>
/// <param name="pageindex">当前页数</param>
/// <param name="field">获取字段名</param>
/// <param name="tablename">表名</param>
/// <param name="orderfield">排序字段</param>
/// <param name="taxis">排序方式,true为升序,false为降序</param>
/// <param name="condition">满足的条件</param>
/// <returns></returns>
public DataSet GetPage(int pagesize,int pageindex,string field,string tablename,string orderfield,bool taxis,string condition)
{
string temp;
if(taxis)
{
temp="asc";
}
else
{
temp="desc";
}
string sql;
if(pageindex==1)
{
if(condition=="")
{
sql="select top "+pagesize+" "+field+" from "+tablename+" order by "+orderfield+" "+temp;
return GetData(sql);
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp;
return GetData(sql);
}
}
else
{
pageindex=(pageindex-1)*pagesize;
if(condition=="")
{
if(taxis)
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
return GetData(sql);
}
else
{
if(taxis)
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
else
{
sql="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
}
return GetData(sql);
}
}
}