C#操作Access时模糊查询Bug

wuzhicheng5 2010-01-29 10:50:09
问题:

凡是对Access数据库进行模糊查询,即带like关键字查询时,经常性的报内存溢出问题!

baidu,google了之后,均说这是MS Access的一个Bug,我对此半信半疑。网上提出的解决方法大多是真对日文、韩文性质的存储内容进行编码转换, 提交查询条件和查询完了之后,再转换过来。很不幸的是,我的存储内容不是日文、韩文,是中文简体,但同样经常性的报内存溢出,非常烦恼,听闻CSDN高手如云,特来CSDN寻求帮助,不甚感激!

备注:SQL语句本身绝对没有问题!
...全文
814 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuzhicheng5 2010-02-02
  • 打赏
  • 举报
回复
结贴了,虽然问题未解决,估计跟我的Access数据库文件或操作环境有关系吧,无论我设置成ANSI-89 或ANSI-92
标准查询方式,压缩后,模糊查询还是有问题,其它的增、删、改、非模糊查询都没问题。

希望,如有朋友知道答案或遇到类似情况,可以告知我或共同研究,非常感谢!

QQ:154707708
panrengui 2010-02-02
  • 打赏
  • 举报
回复
我用的C#操作access模糊查询也查过上百万的数据也没碰到内存溢出的问题,你垃圾回收下试试。GC.Collect();
huyou1983218 2010-02-02
  • 打赏
  • 举报
回复
把你的问题转到MS_SqlServer疑难问题中去找人问问
huyou1983218 2010-02-02
  • 打赏
  • 举报
回复
[字段]是啥类型?
mohugomohu 2010-02-02
  • 打赏
  • 举报
回复
sql有问题吧。给大家看一下啊?
zishanyan 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 huing 的回复:]
mysql不是更省成本哈
[/Quote]

MySql被SUN收购了,SUN又被甲骨文收购了,前途难测啊,而且LZ用的可能是VS,连MySql的话还要装下驱动,不过也不失为一个办法
你妹的特盗不 2010-02-02
  • 打赏
  • 举报
回复
关注~~~~

从没用过access 数据库
huing 2010-02-02
  • 打赏
  • 举报
回复
mysql不是更省成本哈
guyehanxinlei 2010-02-02
  • 打赏
  • 举报
回复
没遇到类似问题,楼主检查查询语句.
wuzhicheng5 2010-02-02
  • 打赏
  • 举报
回复
问题未解决
khjian 2010-02-01
  • 打赏
  • 举报
回复
一直用啊,没碰到过啊
柳晛 2010-02-01
  • 打赏
  • 举报
回复
没遇到过这问题,可能office存在本地化问题吧...
wuzhicheng5 2010-02-01
  • 打赏
  • 举报
回复
自己再顶下....
wuzhicheng5 2010-01-31
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 sdfkfkd 的回复:]
从来没碰过楼主这种问题
楼主有办法把你这个文件上传出来,

[/Quote]

这个不好上传啊,非常抱歉啊,普通的表,普通的Text字段(access),没有特别

新发现,如果字段是数字(access)类型,模糊查询不管用哪种方式都没问题,如果是Text,特别是日文、韩文,还有一些简体中文,就容易报内存溢出....

着实对access无语啊,期待XDJM们指点一下,.......................
wuzhicheng5 2010-01-31
  • 打赏
  • 举报
回复
“而且数据量不大,操作不复杂,所以采用access,为用户节省成本, ”

不好意思,打错了
特别 2010-01-31
  • 打赏
  • 举报
回复
从来没碰过楼主这种问题
楼主有办法把你这个文件上传出来,
wuzhicheng5 2010-01-31
  • 打赏
  • 举报
回复
问题,仍未解决,不过有了新的发现,

上微软官网查询了下关于access的模糊查询问题,有提示说要注意,配置好access的查询标准,

标准有两个:ANSI-89 和 ANSI-92,不同标准下模糊查询的要求不一样,需要配置,

ANSI-92 支持的是 where [字段] like '%aaa%' 模式
ANSI-89 支持的是 where [字段] like '*aaa*' 模式

我把我的数据库查询方式配置成ANSI-92并且按照建议重压缩后,where [字段] like '%aaa%' 模式

还是报内存溢出,但如果把模糊查询去掉就没有问题。


期待答案!!!
wuzhicheng5 2010-01-31
  • 打赏
  • 举报
回复
我的数据量不大,最多过万行而已,数据库设计没问题,

我之前做的系统也是配的sqlserver2005 或2008,但是上的系统需要考虑成本,

而且数据量不大,操作不负责,所以采用access,为用户节省成本,

注:系统所用access,需要购买正版,故注意成本。

mayonglong 2010-01-31
  • 打赏
  • 举报
回复
帮顶
夏脑 2010-01-30
  • 打赏
  • 举报
回复
是不是数据的设计问题?
看一看查询语句中是否出现access保留字被 作为字段名
加载更多回复(16)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧