Microsoft JET Database Engine 错误 '80040e21' 所有记录中均未找到搜索关键字
来源:asp之家 时间:2009-08-30 13:07:00
Microsoft JET Database Engine 错误 '80040e21'
所有记录中均未找到搜索关键字。
/admin/Employee/System_Setup.asp,行 20
参考解决办法一:
这个问题主要是因为数据表设定的字符有限,而提交的数据大于表设定的字符数,就会出现这样的情况,解决方法是把表的字符限制扩大一些就OK了。。
参考解决办法二:
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
今天朋友说他进入网站后台删贴时,网页出了问题,总是提示:
Microsoft JET Database Engine 错误 '80040e21'
所有记录中均未找到搜索关键字。
/inc/inc_guest.asp,行 958
我就帮忙分析了一下,确定了原来是access数据库的原因。在access数据库里面,直接删除问题数据都删不掉,而且也提示“所有记录中均未找到搜索关键字”。这我就有些纳闷了,怎么回事呢?我在网上搜了搜,发现原来这个问题是access数据库的一个bug。问题出在,这个表里面有一个备注字段。
bug的具体描述:
随便找一段字节数超过2K的文字。在备注字段里,通过编写程序方式或只是在access数据库程序里直接贴上这块方字后,第一次保存肯定正常。即第一次添加、保存都是正常的。问题出现在第二次修改时,无论是通过网页还是直接在数据库里,对这个备注型字段修改或者删除,保存时就会提示“所有记录中均未找到搜索关键字”。之后网页在操作这个字段时就会报“Microsoft JET Database Engine 错误 '80040e21' 所有记录中均未找到搜索关键字”的错误
当access建立备注字段时,默认隐式的给这个备注加了个索引,我们只要把这个索引给删掉就好了。方法如下:
进入access数据库,打开出问题的表,
视图-->设计视图,然后再视图-->索引,
把出问题的数据项的索引delete掉
保存
至此问题解决了。