已经将表名,列名,和搜索条件分开,使用时只要将这三个替换一下就可以了。
string tablename = “LinkCls”; //表名
string idname = “Cls_ID”; //列id名
string TopNum = ((page – 1) * pagenum).ToString(); //计算游标地址,无需更改
string sql = “”; //sql分页语句,先找到游标地址,之后找出前pagenum个记录
//下面的为降序
if (sqlcondition == “”)
{
sql = “select top ” + pagenum.ToString() + ” * FROM ” + tablename + ” WHERE ” + idname + “<(select ISNULL(MIN(" + idname + "),99999999) FROM (select TOP " + TopNum + " " + idname + " from " + tablename + " order by " + idname + " desc) A) order by " + @idname + " desc";
}
else
{
sql = “select top ” + pagenum.ToString() + ” * FROM ” + tablename + ” WHERE ” + idname + “<(select ISNULL(MIN(" + idname + "),99999999) FROM (select TOP " + TopNum + " " + idname + " from " + tablename + " where " + sqlcondition + " order by " + idname + " desc) A) and " + sqlcondition + " order by " + @idname + " desc";
}
//下面的为升序
if (sqlcondition == “”)
{
sql = “select top ” + pagenum.ToString() + ” * FROM ” + tablename + ” WHERE ” + idname + “>(select ISNULL(Max(” + idname + “),0) FROM (select TOP ” + TopNum + ” ” + idname + ” from ” + tablename + ” order by ” + idname + “) A) order by ” + @idname + “”;
}
else
{
sql = “select top ” + pagenum.ToString() + ” * FROM ” + tablename + ” WHERE ” + idname + “>(select ISNULL(Max(” + idname + “),0) FROM (select TOP ” + TopNum + ” ” + idname + ” from ” + tablename + ” where ” + sqlcondition + ” order by ” + idname + “) A) and ” + sqlcondition + ” order by ” + @idname + “”;
}