最近在帮同学写一个网站时,碰到一个奇怪问题,在对一个含有长文本备注类型字段的表操作时,第一次可正常添加数据,第一次修改时也正常,但第二次对该表记录提交 Update 操作时,出现如下错误:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access 驱动程序] 所有记录中均未找到搜索关键字。
错误点位于数据层向数据库提交的位置,打开数据库文件查看我要查找的记录其实是存在的,再新建记录后用同样方法测试仍有该问题,于是怀疑是 Access 的 Bug,百度一下,出现很多同类问题,经证实,该问题是 Access 2003 版的一个 Bug,不能对备注字段加索引,否则更新后数据库会损坏,只能通过手工修复解决。
根据原因和现象,猜测是添加数据时正常,而第一次更新时索引还正常,也可更新,但第一次更新完成后索引已坏,造成第二次更新失败。
于是取消对应表所有备注字段的索引,再试,正常了。
微软的东西,不靠谱......
---------------------------------------------------------
本文边涯原创,转载注明出处
欢迎交流,QQ:31369666
---------------------------------------------------------