http://hi.baidu.com/mascotdai/blog/item/19d80c1e281cbbf11bd5764c.html
今天,写程序用到数据库更新,经常出错,出错原因为:所有记录中均未找到搜索关键字。代码检查了N遍了都没有错,最后百度了一下,发现一个高人说貌似是Access的一个BUG(高人才敢这么说Microsoft的产品),并且附上了解决方法,删除了“索引”问题就解决了,果然是高人。下面是解决方法:
==========================
使用Access数据库,出现“所有记录中均未找到搜索关键字”的错误。不知怎样解决。猜测是Access数据库的一个BUG。
测试故障过程如下:
使用access数据新建一个表,只要这个表里有一个字段是备注型。就算这个表里只有唯一个字段,只要是备注型字段。那么只要你有如下操作,必然的错误:
1、随便找一块文字:只要总的字节数超过2K以上。编写程序方式或甚至只是在access数据库程序直接贴上这块方字后。
2、第一次保存肯定正常。即第一次添加、保存都是正常的。
3、问题出现在:第二次修改时,随便在这个备注型字段中插入几个字。保存时就会提示“所有记录中均未找到搜索关键字”。同时这个数据库就这样坏掉了。
4、第3点步聚如果是在网页中用程序来提交也是存在相同问题。
5、接着就会出现各种故障了:正常的网站会因数据库坏掉不能正常运行。或者是提示“所有记录中均未找到搜索关键字”出错。
解决的方法:只能用数据库的修复和压缩功能来修复这个数据库。
但是这种方法不是根治这个故障的主要方法。只要你第二次还有提交一个大块数据给这个备注型字段,这个故障又出来啦!!
虽然我没有用SQL数据库测试过,我想信在SQL里应是没有这个问题。这个是不是Access一个天生不足的表现???
备注型字段为什么不能超过1950字节。是由于备注型字段是有“索引”。用Access对数据库的表进行设计时,点试设计视图->索引, 可以看到这个字段有索引。就是这个原因,删掉这个索引就什么事都没有了。
奇怪的是:在ACCESS设计表时,在备注型的字段里,根本就没有选项对备注型字段加上索引功能,为什么会偷偷地跑出一个索引出来?也许这个确实是ACCESS的一个BUG。