《ASP Access实现增删改查分页基本操作》由会员分享,可在线阅读,更多相关《ASP Access实现增删改查分页基本操作(7页珍藏版)》请在金锄头文库上搜索。
1、说实在的,我没有用过 ASP+Access 做过开发的。用 Access 在大学时做过开发,是用 Java 做的一个桌面小程序。 但是,如何用 ASP+Access 进行开发、以及在开发过程中的问题,有好几个同学问过我,由 于自己没弄过,所以也就答不上来。 上次也一样,好友要我弄个 ASP+Access 的简单例子给他,没办法,只好边上网查边给好友 弄了个查列表的演示功能,其它的增、删、改好友自己搞定。 今天我一起把这几个基本功能一并整理,做个备份,以备将来自己用到或是好友问到。一、简单介绍 要用 Access,首先得在电脑上安装个 MS Office Access 程序。它和其它数据库不同的
2、是, 它只有一个文件,直接操作这个文件即可;它有个便利的地方:当感觉哪条数据不爽或是不 对时,可以直接打开修改,也就是 MS Office Access 集成了服务器(不太准确)和可视化 客户端(也不太准确) 。 Access 是不支持并发的,因为当天我用客户端打开数据库文件,同时用 ASP 访问时,就报 错,具体信息忘记了,大意是已经打开了,不能再访问了。至于支持不支持事务等,我想是 不支持的,连并发都不支持,那么支持事务就没有任何意义了。二、打开和关闭 Access 连接 用 JDBC 操作数据库先是要打开一个连接(java.sql.Connection)的,操作完了就要关闭该 连接。AS
3、P 操作 Access 也不例外,用时也要打开一个连接,用完了也要关闭的。 1、打开连接上面的 conn 最后的就是打开的连接了,最后的 Server.MapPath(“TEST.mdb“)是指定 Access 数据文件的位置的,Server.MapPath(“path“)就是把相对路径转化成绝对路径,这样 Driver 就可以找到该数据文件了。2、关闭连接上面的 conn.close 就是关闭了,set conn = nothing 就是把 conn 指向 null 了。有个问题: conn.close 有没有可能抛出异常,该如何捕捉?三、ASP 对 Access 实现增操作 要有后面的删、
4、改、查,首先数据库中得有数据,所以“增”放在第一个。很是神奇,要想插入数据,还先得查下数据库,网上还有以下这种做法。感觉是先把数据记录全部查出来,然后增加一条,万一数据库有一亿记录,真不敢想象这种 操作的可行性,希望我的感觉是错的。 和数据库连接一样,结果集 rs 不用了也要关闭的,并且要在连接关闭之前关闭。四、ASP 对 Access 实现删操作 数据库中的不爽的数据,当然要把它删掉或是修改掉了,数据量太大了,还是删除比较简单 的,有时间再修改好了。0 then rs.Delete end if rs.close application.unlock Set rs = nothing % 和
5、增加一样,删除前也是先要查,呵呵,感觉 ASP 操作 Access 真的是很好玩的。五、ASP 对 Access 实现改操作 现在有时间了,那些不爽的数据记录可以修改下,不要都删除掉了,不然数据库中都没数据 了。0 then rs(“typeid“) = request(“typeid“) rs(“feedbackC“) = request(“feedbackC“) rs.updateend if rs.close Set rs = nothing % 和增加一个样,只是少了个 rs.addnew 语句,还是先要查出来,呵呵。六、ASP 对 Access 实现查操作 其实“查”我们一直在做,上
6、面的几个操作中,每个操作之前,我们必须得先“查” ,这也 许就是 Access 的魅力:你想用 ASP 操作 Access 吗,那么你就先查吧!内容:,这里就可以充分使用你的数据记录吧。细心的朋友会发现,上面的列表是查出所有的记录,跟上面的假设一样,如果数据库中有一 亿条记录,那么整个网络就在传数据了,网页浏览者喝杯咖啡,上个厕所后,数据还没有传 完,洗个澡后发现整个页面全是记录了,这肯定是不好的,我们必须分页才行啊,数据得一 页一页的浏览。七、ASP 对 Access 分页取数据 良好的用户体验是每个网站站长不懈的追求,其中分页浏览数据记录就是其中之一。“ then page = cint(
7、request(“page“) else page = 1 end if % 首先是获得第几页,如果第几页参数为空,则默认为第 1 页。内容:,其它的内容抱歉,没有找到相关记录!“)end if % 上面就是分页了,每页 15 条记录,这样网站浏览者就爽多了,不用紧等了,其实我们还漏 了下面将要说的一个问题。八、ASP 对 Access 分页函数 上页我们只是从请求参数中获得分页页码,但要每个用户浏览一页都要修改 URL 中的分页是 不可以的,所以我们必须在网页上提供一个“上一页” , “下一页”等分页栏。 下面是一个分页栏函数。“ response.write “ response.writ
8、e “ response.write “ Response.Write “ 信息有 “&rs.recordcount&“条“If Page 1 ThenResponse.Write “Response.Write “Response.Write “第一页“Response.Write “Response.Write “Response.Write “Response.Write “上一页“Response.Write “ End If if page=“ and rs.pageCount0 then response.write “ response.write “ response.writ
9、e “ response.write “ response.write “ response.write “ response.write “ for n=1 to rs.pageCount if n=page then response.write “&n&“页“else response.write “&n&“页“end if totalpage=totalpage+n next response.write “ end if end sub % 上面就定义了一个叫 fy2 的分页函数,它有三个参数,分别为第几页,URL 和结果集。其中 URL 中不要带 page 属性。它的用法如下所示。在 for 循坏的前后都可以通过上面的方式使用分页栏了,注意的是:URL 最后要带上&号, 并且不能有 page 属性。九、最后 上面只是对 ASP 操作 Access 的方式作了简单的介绍,用是可以用了,但是性能和效率问题 都没有考虑,对于自己的疑问我也没有去证实,希望从事 ASP+Access 开发的朋友能留言指 正。= 如有批评、指教、疑惑,请: 祝大家使用 JAVA 愉快!刚从网站http:/ ASP 可以对 Access 数据 库进行 DDL 操作。那么可不可以通过同样的方式进行 DML 操作呢?