回首往事,碩果累累,展望未來,信心滿懷。
Where is way? Pick One,Not All.
博客园
首页
社区
新随笔
联系
订阅
管理
随笔-85 评论-51 文章-0 trackbacks-5
手写分页函数C#
/**/
///
<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);
}
}
}
希望给于评价
posted on 2006-12-08 15:36
感動常在
阅读(923)
评论(4)
编辑
收藏
网摘
所属分类:
数据库心得
评论:
#1楼
2006-12-08 17:44 |
一滴水
分页可以看看这篇:
http://tonyqus.cnblogs.com/archive/2006/03/12/344357.html
">
http://tonyqus.cnblogs.com/archive/2006/03/12/344357.html
尽量不要使用字符串拼凑sql,建议使用参数
回复
引用
查看
#2楼
2006-12-11 15:02 |
旋律游魂
太多字符串连接,性能低,用StringBulider来代替。
回复
引用
查看
#3楼
2007-01-01 22:35 |
过路人[未注册用户]
字符串拼凑太多,建议使用高级SQL中的分页查询功能!
回复
引用
#4楼
2009-03-15 14:22 |
学习分页的游客[未注册用户]
确实是。其实你可以把参数都做好处理再把字符串接好。。。
接好以后。最后再用一句SQL来执行。
以前ASP这样做的。。现在学.net刚好看到这篇文章
回复
引用
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
586505
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
相关链接:
QQ:271059875
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我的标签
.net
(7)
读书
(4)
javascript
(2)
php
(2)
soft
(1)
算法
(1)
随笔分类
dotnet心得(37)
JavaScript技巧(7)
PHP(7)
編程之美(4)
查找錯誤(1)
数据库心得(10)
文件操作(4)
我的作品(2)
想到什么,说什么(2)
有用的資源文件(7)
随笔档案
2009年3月 (1)
2009年2月 (5)
2009年1月 (2)
2008年11月 (3)
2008年10月 (1)
2008年9月 (3)
2008年8月 (3)
2008年6月 (1)
2008年5月 (1)
2008年4月 (3)
2008年3月 (1)
2008年2月 (8)
2008年1月 (8)
2007年10月 (1)
2007年9月 (3)
2007年8月 (8)
2007年7月 (9)
2007年6月 (2)
2007年5月 (1)
2007年2月 (1)
2007年1月 (3)
2006年12月 (3)
2006年11月 (1)
2006年10月 (5)
2006年9月 (1)
2006年8月 (7)
文章分类
php
最新评论
1. re: apache之404错误页面自定义跳转说明
--引用--------------------------------------------------wayswang2: 我觉得转载还是注明出处比较好!--------------------...
--感動常在
2. re: apache之404错误页面自定义跳转说明
我觉得转载还是注明出处比较好!
--wayswang2
3. re: 關於firefox,ie firstChild.cloneNode(true)奇怪問題
这个问题也是困扰了我很长时间,再看DOM的时候才发现原来还有nodetype这回事情,代码大体如下,可以去试试: //兼容ff做的修改,遍历子节点,判断是否是元素 var attChilds = a...
--阿弥陀佛~~~
4. re: 手写分页函数C#
确实是。其实你可以把参数都做好处理再把字符串接好。。。
接好以后。最后再用一句SQL来执行。
以前ASP这样做的。。现在学.net刚好看到这篇文章
--学习分页的游客
5. re: 关于C#中timer类 在C#里关于定时器类就有3个
谢谢
--zhangliliang
6. re: JavaScript的RegExp对象
需要的就是它,谢谢!
--))
7. re: 关于C#中timer类 在C#里关于定时器类就有3个
@jiaxu
t.Enabled = false
应该可以了吧
--ppp
8. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
通过SSL的SMTP 发邮件时,报错 未指定 smtp 主机。
--dionysus
9. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
lz,我想请问一下,你的内容代码部分的仿IDE代码折叠是不是用工具生成的?是什么工具?可以告诉我吗,谢谢!
xuxiaozhang@yeah.net
--jack20080808
10. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
发送邮件时指定reply to : ,结果在收到邮件发现邮件头里没这项reply to: 了.咋回事情?
--help
11. re: 關於firefox,ie firstChild.cloneNode(true)奇怪問題
兄弟,我也急着解决这个问题呢,现在你的解决了么,之两招吧
--lixy
12. re: 利用正则表达式去掉html代码
df
--fd
13. re: SQLHelper幫助類
数据库操作库
--蔡
14. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
LZ!! 问个很菜的问题 我在本机测试 开发,试了下2.0也就是你的那个方式,可始终失败 指点下 还有就是我用第三方控件JMAIL也没有发成功 qq:17247924...
--麦子!!!!
15. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
给邮件体添加附件:
msg.Attachments.Add(new Attachment("data.xls"));
--QiuYU
16. re: 关于C#中timer类 在C#里关于定时器类就有3个
可惜有个问题是不能控制停止么
--jiaxu
17. re: 我认为比较好的分页存储过程
如果要支持多表查询怎么办?
--linzi_suny
18. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
谢谢~~有才!附件怎么发!!??
--天上掉下的疯子
19. re: 桌面图标透明设置→详解
我用了 还不行
--安定
20. re: 關於firefox,ie firstChild.cloneNode(true)奇怪問題
兄弟.我也遇到同样的问题了,如果你有解决的方法,请告诉我下的,谢谢
--maomaolong
21. re: SQLHelper幫助類
断る
--aaaaaaaaaaaaaaaa
22. re: SQLHelper幫助類
sqlhelper是个什么东东?望高手指点!
--阿秀
23. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
楼住你好
我试了你的 3.通过SSL的SMTP
在我本地的开发机器上测试时发送通不过,提示在邮件标头中找到无效的字符,不知道是什么原因,请指点,谢谢
--Jeffery Huang
24. re: 關於firefox,ie firstChild.cloneNode(true)奇怪問題
FF认为换行符也是一个元素
--Rainy
25. re: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
我用你的代码,通过普通SMTP方式发送邮件成功了。但是用jmail收取邮件时,发现标题无论如何都是乱码。我怀疑是标题编码被设置为utf8的原因(邮件内容可以正常显示),不知道怎么解决?
--HellKnight
26. re: 一些實用工具
收下
--留恋星空
27. re: JavaScript的RegExp对象
顶顶~~
--T_Chrysalis
28. re: JavaScript的RegExp对象
非常好,非常支持!
继续关注!
--jdk_java
29. re: 桌面图标透明设置→详解
3q
--wb
30. re: 获取新浪读书频道,书的列表程序
怎么用啊,我是个外行!
谢谢!
--yl323
阅读排行榜
1. 关于C#中timer类 在C#里关于定时器类就有3个 (5092)
2. 对比 javascript url编码 (4106)
3. JavaScript的RegExp对象(3595)
4. 桌面图标透明设置→详解(3465)
5. 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现(2995)
6. 手機錄音amr格式轉換工具(1903)
7. [ASP.NET]Request获取url信息的各种方法比较(1858)
8. SQLHelper幫助類 (1393)
9. 利用正则表达式去掉html代码(1184)
10. 利用DataSet、DataTable、DataView按照自定义条件过滤数据 (1118)
11. javascript對文本encode編碼(1061)
12. .net中的泛型 (944)
13. 手写分页函数C#(923)
14. 關於firefox,ie firstChild.cloneNode(true)奇怪問題(858)
15. sql分頁語句1(787)
16. 正则表达式提取数字(693)
17. 在C#中關于一些除法計算問題 (670)
18. asp.net试题(二)(637)
19. ajax get,post提交數據(627)
20. 我认为比较好的分页存储过程(617)
评论排行榜
1. 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现(8)
2. 手写分页函数C#(4)
3. 关于C#中timer类 在C#里关于定时器类就有3个 (4)
4. 關於firefox,ie firstChild.cloneNode(true)奇怪問題(4)
5. 我认为比较好的分页存储过程(3)
6. sql分頁語句1(3)
7. JavaScript的RegExp对象(3)
8. SQLHelper幫助類 (3)
9. 正则表达式提取数字(2)
10. 防SQL注入攻击(2)
11. apache之404错误页面自定义跳转说明(2)
12. 去掉數組中的重複項(2)
13. 桌面图标透明设置→详解(2)
14. 一些實用工具(1)
15. 利用正则表达式去掉html代码(1)
16. 此方法用于确认用户输入的不是恶意信息(1)
17. 获取新浪读书频道,书的列表程序(1)
18. 常用的验证(1)
19. prototype.js开发笔记(1)
20. JavaScript中給String類型,增加一個去掉左右空格的方法(0)