asp写了那么长时间都没有发现,今天居然让我碰到了。网页页面是一个标题和信息内容(备注型)的修改提交,第一次提交修改没有问题,第二次提交修改就出现错误
Microsoft JET Database Engine 错误 '80004005'
所有记录中均未找到搜索关键字。
开始一直调试是不是数据错误,Access的“压缩和修复数据库”也点了很多次,等第二次提交修改都出现问题,后来使用信息内容换成少量字符(随便几个字符),提交了N次都正常,开始还怀疑我的Access数据库是不是出问题了,怪了。百度搜索一下错误代码,发现还蛮多这样的文章,哈,找到原因了。
如果access的备注字段存在索引,当字段的内容超过1908个字节后,该记录将不可删除,就会出现上面的问题。原来是数据库的信息内容字段(即备注字段)不知道什么时候加了“索引”。把索引改成“无”就都好了。
现在很郁闷的是建立一个备注型的字段,它默认索引就是“无”的,不知道我什么时候操作修改过表的索引类型还是Access本身的BUG。
不过总结下知道了这样的错误的解决方式就可以了,下次编程开发中就又多了一份经验了。