很少采用access做数据库开发,前段时间,朋友接了一个小单,让我帮忙做后台开发,采用access + asp.net开发,结果在开发过程使用access碰到不少问题,所以把这些问题总结一下,希望对其它人有些帮助
1: access
分页脚本问题
使用access作为数据库开发系统时,页面数据分页的方案有好几种:
1.1 使用datagridview自带的分页功能.
1.2. 使用select
top not in 来实现。类似如下所示:
1.3.使用嵌套的top结合分页控件aspnetpager来实现
1.4. 设置一个自增长字段.并且该字段为index.(网上有方案,我没有研究过这种方案)
其实上面几种方案中,我觉得效率最高的应该是使用top嵌套方案(特别是当数据量大的时候),也是我下面将要讲解的。 如下图所示:假设有些滚动信息需要分页显示,则我们可以这样处理

1.1 解决access 分页,首页或最后一页数据显示错误、混乱问题
上面代码已经能解决分页数据错乱问题,但是其实里面还有个隐藏的bug,就是当数据表没有任何记录时,它会报错:“select
子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确”。 可能有些人被这个人弄得莫名其妙,其实主要是top 0引起的, 你用select top 0 * from a去查询设计里面执行下,就会弹出那个错误提示。所以要修改下上面的代码如下:
1.2 select top 失效问题,比如只需前十条记录,结果它给你查出了所有记录。这主要是查询top语句的后面使用order by,而且order by字段中有重复值的话,那么这个top很会失效而会返回所有记录,所以order
by后面最好用主键字段。我又一次就是犯了这个错误,查询语句如下所示,本来工作好好的,但是由于客户需求,把createdate字段从yyyy-mm-dd hh:mm 改成yyyy-mm-dd 结果排序全部混乱了。
2 关键字问题,像password等,这样网上介绍很多了,想必大家都比较了解。这里就不多说了
3 错误提示"操作必须使用一个可更新的查询",部署到服务器上,插入或更新数据时,有时会爆出这样的错误
1.win 2000/ win 2003 系统,在数据库文件上(*.mdb)点鼠标右键,选择属性,点安全,查看是否存在everyone用户,如果没有,添加everone用户,勾选"完全控制".
2.win xp 系统,打开 data
文件夹,点击“工具”->“文件夹选项”->“查看”,找到“使用简单文件共享(推荐)”这项,把前面的勾去掉。然后在数据库文件上
(*.mdb)点鼠标右键,选择属性,点安全,查看是否存在everyone用户,如果没有,添加everone用户,勾选"完全控制".