我用Access 模糊查找
看语句:
... '省略不写了
......'省略不写了
.........'省略不写了sql = "select * from AV女优名单列表 where 女优字段列 like '%" & target & "%'"这个语句本身没有什么问题,但是一查找就内存益出-2147467259 (80004005)。我的记录不多就1850条。
但是里面有好多日文和英文字符。查了好多资料,微软说这个是它的Bug。真奇怪,这也会出错。后来想了个办法用InStr配合搞定了。.......'省略不写了SQL = "select * from AV女优名单列表 ".......'省略不写了
Do While Not rs.EOF
pos = InStr(LCase(rs.Fields("女优字段列")), LCase(target))
If pos > 0 Then '找到了匹配字符串
With GirlList.ListView2 '这个是控件的命令,不用理它
lngItem = .AddItem() '这个是控件的命令,不用理它
.ItemText(lngItem, 0) = rs.Fields("女优字段列")
End With
End If
rs.MoveNext
Loop这样就搞定了这个内存益出-2147467259 (80004005)。
遇到同样问题的兄弟不防试试。
看语句:
... '省略不写了
......'省略不写了
.........'省略不写了sql = "select * from AV女优名单列表 where 女优字段列 like '%" & target & "%'"这个语句本身没有什么问题,但是一查找就内存益出-2147467259 (80004005)。我的记录不多就1850条。
但是里面有好多日文和英文字符。查了好多资料,微软说这个是它的Bug。真奇怪,这也会出错。后来想了个办法用InStr配合搞定了。.......'省略不写了SQL = "select * from AV女优名单列表 ".......'省略不写了
Do While Not rs.EOF
pos = InStr(LCase(rs.Fields("女优字段列")), LCase(target))
If pos > 0 Then '找到了匹配字符串
With GirlList.ListView2 '这个是控件的命令,不用理它
lngItem = .AddItem() '这个是控件的命令,不用理它
.ItemText(lngItem, 0) = rs.Fields("女优字段列")
End With
End If
rs.MoveNext
Loop这样就搞定了这个内存益出-2147467259 (80004005)。
遇到同样问题的兄弟不防试试。
select * from AV女优名单列表
前后用的不是同一种方法。SQL 命令是以字符串形式传递给 Jet Engine,由它来处理。如果字符串异常(与它默认的格式不符)就会出问题。后面采用的是记录集对象,查找过程是程序代码实现的。环境完全不同了。你还可以试试:pos = (LCase(rs.Fields("女优字段列")) Like ("*" & LCase(target) & "*"))