对MSSQLAccess数据库上的寻呼方法浅谈

对MSSQLAccess数据库上的寻呼方法浅谈
但它有优点也有缺点。它要求排序字段必须构成一个惟一的记录,并且在选择字段列表中不允许具有相同名称的字段。
虽然sql2k5以上版本提供的行号()分页处理,开发利用更是SQL2K
复制代码代码如下所示:
采用system.collections.generic;
系统
使用system.text;
X
页面结构更改后的SQL语句
X
公共静态类paginghelper
{
X
只需获取分页SQL语句,即可构成惟一的记录排序字段。
X
记录总数
只记录每一页的数量
更改当前页
X的SQL查询
只是排序字段,多次使用,分离
公共分页sql语句
字符串createpagingsql(int _recordcount,int _pagesize,int _pageindex,字符串_safesql)
{
重新组合排序字段,防止错误
字符串{ } arrstrorders = _orderfield.split(新字符{} {,},stringsplitoptions。removeemptyentries);
StringBuilder sboriginalorder =新(StringBuilder); / /原始排序字段
StringBuilder sbreverseo rder(StringBuilder)=新的教程; / /相反的字段排序,分页
为(int i = 0;i < arrstrorders.length;i++)
{
我arrstrorders { } =(arrstrorders {我}。饰); / /前去除后的空间
如果(i)!= 0)
{
Sboriginalorder.append(
Sbreverseorder.append(
}
Sboriginalorder.append(arrstrorders {我});

int = arrstrorders {我}。指数(指数); / /判断是否有提升的迹象
如果(索引> 0)
{
/ /更换提升的标志,分页的要求
布尔标志= arrstrorders {我}。指标(desc
Sbreverseorder.appendformat({ 0 } { 1 }
}
其他的
{
Sbreverseorder.appendformat({ 0 } DESC
}
}

计算页面总数
_pagesize _recordcount:_pagesize = _pagesize = = 0;
int总页面数=(_recordcount + _pagesize - 1)/ _pagesize;

检查当前页面
如果(_pageindex<1)
{
_pageindex = 1;
}
如果(_pageindex >总页数)
{
_pageindex =总页数;
}

StringBuilder sbsql =新StringBuilder();
第一页,直接使用top n,但不用于查询页面
如果(_pageindex = 1)
{
Sbsql.appendformat(选择上{ 0 } *
Sbsql.appendformat(({ 0 })为T
Sbsql.appendformat(为了{ 0 }
}
/最后一页,顶部n的减少
如果(_pageindex =总页数)
{
Sbsql.append(SELECT * FROM );
Sbsql.append(();
Sbsql.appendformat(选择上{ 0 } *
Sbsql.appendformat(({ 0 })为T
Sbsql.appendformat(为了{ 0 }
Sbsql.append()T );
Sbsql.appendformat(为了{ 0 }
}
页面的前半部分/页
如果(_pageindex <(总页数/总页数为2 + 2))
{
Sbsql.append(SELECT * FROM );
Sbsql.append(();
Sbsql.appendformat(选择上{ 0 } *
Sbsql.append(();
Sbsql.appendformat(选择上{ 0 } *
Sbsql.appendformat(({ 0 })为T
Sbsql.appendformat(为了{ 0 }
Sbsql.append()T );
Sbsql.appendformat(为了{ 0 }
Sbsql.append()T );
Sbsql.appendformat(为了{ 0 }
}
第二页页
其他的
{
Sbsql.appendformat(选择上{ 0 } *
Sbsql.append(();
Sbsql.appendformat(选择上{ 0 } *((_recordcount % _pagesize)+ _pagesize *(总页数- _pageindex))))
Sbsql.appendformat(({ 0 })为T
Sbsql.appendformat(为了{ 0 }
Sbsql.append()T );
Sbsql.appendformat(为了{ 0 }
}

返回sbsql.tostring();
}

X
只需记录SQL语句的总数。
X
记录数量有限
X的SQL查询
只记录SQL语句的总数。
字符串createtopnsql(int _n,字符串_safesql)
{
返回string.format(选择上{ 0 } *({ 1 })为T
}

X
只需记录SQL语句的总数。
X
X的SQL查询
只记录SQL语句的总数。
字符串(字符串createcountingsql _safesql)
{
返回string.format(select count(1)作为RecordCount从({ 0 })为T
}
}
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部