access下仿Sql存储过程的分页方案_第1页
access下仿Sql存储过程的分页方案_第2页
access下仿Sql存储过程的分页方案_第3页
access下仿Sql存储过程的分页方案_第4页
access下仿Sql存储过程的分页方案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、access下仿Sql存储过程的分页方案using System; style=“TEXT-INDENT: 2em”using System.Collections.Generic; style=“TEXT-INDENT: 2em”using System.Text; style=“TEXT-INDENT: 2em”using System.Data; style=“TEXT-INDENT: 2em”using System.Data.OleDb; style=“TEXT-INDENT: 2em”using System.Web; style=“TEXT-INDENT: 2em”/xx/xx/

2、xx/xx/xx/ style=“TEXT-INDENT: 2em”/ 名称:access下的分页方案(仿sql存储过程) style=“TEXT-INDENT: 2em”/ 作者:cxz(虫虫) style=“TEXT-INDENT: 2em”/ from::/bbs.51aspx style=“TEXT-INDENT: 2em”/ style=“TEXT-INDENT: 2em”public class AdoPager style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” protected string m_ConnString; styl

3、e=“TEXT-INDENT: 2em” protected OleDbConnection m_Conn; style=“TEXT-INDENT: 2em” public AdoPager() style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” CreateConn(string.Empty); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” public AdoPager(string dbPath) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT:

4、2em” CreateConn(dbPath); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” private void CreateConn(string dbPath) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if (string.IsNullOrEmpty(dbPath) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” string str = System.Configuration.ConfigurationManage

5、r.AppSettingsdbPath as string; style=“TEXT-INDENT: 2em” if (string.IsNullOrEmpty(str) style=“TEXT-INDENT: 2em” str = /App_Data/db.mdb; style=“TEXT-INDENT: 2em” m_ConnString = string.Format(Provider=Microsoft.Jet.OLEDB.4.0;Data source=0, Context.Current.Server.MapPath(str); style=“TEXT-INDENT: 2em” s

6、tyle=“TEXT-INDENT: 2em” else style=“TEXT-INDENT: 2em” m_ConnString = string.Format(Provider=Microsoft.Jet.OLEDB.4.0;Data source=0, dbPath); style=“TEXT-INDENT: 2em” m_Conn = new OleDbConnection(m_ConnString); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” /xx/xx/xx/xx/xx/ style=“TEXT-INDENT: 2em”

7、 / 打开连接 style=“TEXT-INDENT: 2em” / style=“TEXT-INDENT: 2em” public void ConnOpen() style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if (m_Conn.State != ConnectionState.Open) style=“TEXT-INDENT: 2em” m_Conn.Open(); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” /xx/xx/xx/xx/xx/ style=“TEXT-INDENT

8、: 2em” / 关闭连接 style=“TEXT-INDENT: 2em” / style=“TEXT-INDENT: 2em” public void ConnClose() style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if (m_Conn.State != ConnectionState.Closed) style=“TEXT-INDENT: 2em” m_Conn.Close(); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” private string recordID(s

9、tring query, int passCount) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” OleDbmand cmd = new OleDbmand(query, m_Conn); style=“TEXT-INDENT: 2em” string result = string.Empty; style=“TEXT-INDENT: 2em” using (IDataReader dr = cmd.ExecuteReader() style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” wh

10、ile (dr.Read() style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if (passCount style=“TEXT-INDENT: 2em” result += , + dr.GetInt32(0); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” passCount-; style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” return result.Substring(1); s

11、tyle=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” /xx/xx/xx/xx/xx/ style=“TEXT-INDENT: 2em” / 获取当前页应该显示的记录,注意:查询中必须包含名为ID的自动编号列,若不符合你的要求,就修改一下源码吧 :) style=“TEXT-INDENT: 2em” / style=“TEXT-INDENT: 2em” / 当前页码 style=“TEXT-INDENT: 2em” / 分页容量 style=“TEXT-INDENT: 2em” / 显示的字段 style=“TEXT-INDENT: 2em” / 查

12、询字符串,支持联合查询 style=“TEXT-INDENT: 2em” / 查询条件,若有条件限制则必须以where 开头 style=“TEXT-INDENT: 2em” / 排序规则 style=“TEXT-INDENT: 2em” / 传出参数:总页数统计 style=“TEXT-INDENT: 2em” / 传出参数:总记录统计 style=“TEXT-INDENT: 2em” / 装载记录的DataTable style=“TEXT-INDENT: 2em” public DataTable ExecutePager(int pageIndex, int pageSize, str

13、ing showString, string queryString, string whereString, string orderString, out int pageCount, out int recordCount) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if (pageIndex if (pageSize if (string.IsNullOrEmpty(showString) showString = x; style=“TEXT-INDENT: 2em” if (string.IsNullOrEmpty(orde

14、rString) orderString = ID desc; style=“TEXT-INDENT: 2em” ConnOpen(); style=“TEXT-INDENT: 2em” string myVw = string.Format( ( 0 ) tempVw , queryString); style=“TEXT-INDENT: 2em” OleDbmand cmdCount = new OleDbmand(string.Format( select count(0) as recordCount from 0 1, myVw, whereString), m_Conn); sty

15、le=“TEXT-INDENT: 2em” recordCount = Convert.ToInt32(cmdCount.ExecuteScalar(); style=“TEXT-INDENT: 2em” if (recordCount % pageSize) 0) style=“TEXT-INDENT: 2em” pageCount = recordCount / pageSize + 1; style=“TEXT-INDENT: 2em” else style=“TEXT-INDENT: 2em” pageCount = recordCount / pageSize; style=“TEX

16、T-INDENT: 2em” OleDbmand cmdRecord; style=“TEXT-INDENT: 2em” if (pageIndex = 1)/第一页 style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” cmdRecord = new OleDbmand(string.Format(select top 0 1 from 2 3 order by 4 , pageSize, showString, myVw, whereString, orderString), m_Conn); style=“TEXT-INDENT: 2em”

17、style=“TEXT-INDENT: 2em” else if (pageIndex pageCount)/超出总页数 style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” cmdRecord = new OleDbmand(string.Format(select top 0 1 from 2 3 order by 4 , pageSize, showString, myVw, where 1=2, orderString), m_Conn); style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em”

18、else style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” int pageLowerBound = pageSize x pageIndex; style=“TEXT-INDENT: 2em” int pageUpperBound = pageLowerBound - pageSize; style=“TEXT-INDENT: 2em” string recordIDs = recordID(string.Format(select top 0 1 from 2 3 order by 4 , pageLowerBound, ID, myVw,

19、 whereString, orderString), pageUpperBound); style=“TEXT-INDENT: 2em” cmdRecord = new OleDbmand(string.Format(select 0 from 1 where id in (2) order by 3 , showString, myVw, recordIDs, orderString), m_Conn); style=“TEXT-INDENT: 2em” 分页标记 style=“TEXT-INDENT: 2em” OleDbDataAdapter dataAdapter = new Ole

20、DbDataAdapter(cmdRecord); style=“TEXT-INDENT: 2em” DataTable dt=new DataTable(); style=“TEXT-INDENT: 2em” dataAdapter.Fill(dt); style=“TEXT-INDENT: 2em” ConnClose(); style=“TEXT-INDENT: 2em” return dt; style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em

21、”复制到剪贴板 style=“TEXT-INDENT: 2em”CODE: style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” 分页演示 style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“

22、TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em”复制到剪贴板 style=“TEXT-INDENT: 2em”CODE: style=“TEXT-INDENT: 2em”using System; style=“TEXT-INDENT: 2em”using System.Data; style=“TEXT-INDENT: 2em”using System.Configuration; style=“TEXT-INDENT: 2em”using System.Web; style=“TEXT-INDENT: 2em”using System.Web.Secur

23、ity; style=“TEXT-INDENT: 2em”using System.Web.UI; style=“TEXT-INDENT: 2em”using System.Web.UI.WebControls; style=“TEXT-INDENT: 2em”using System.Web.UI.WebControls.WebParts; style=“TEXT-INDENT: 2em”using System.Web.UI.Controls; style=“TEXT-INDENT: 2em”using System.Collections.Generic; style=“TEXT-IND

24、ENT: 2em”public partial class _Default : System.Web.UI.Page style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” private AdoPager mm_Pager; style=“TEXT-INDENT: 2em” protected AdoPager m_Pager style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” get style=“TEXT-INDENT: 2em” if (mm_Pager = null) style=“TEXT

25、-INDENT: 2em” mm_Pager = new AdoPager(); style=“TEXT-INDENT: 2em” return mm_Pager; style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” protected void Page_Load(object sender, EventArgs e) style=“TEXT-INDENT: 2em” style=“TEXT-INDENT: 2em” if(!IsPostBack) style=“TEXT-INDENT: 2em” LoadData(); style=“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论