我编写了一个服务程序。
其中使用了ADO用于将数据库中某个表的数据导出到文件中。
我的表中有10000条记录。
每次导出到第2500条记录后,执行MoveNext()就内存出错。
可是将代码移植到一个非服务程序中,运行正常。请问这是怎么回事?
其中使用了ADO用于将数据库中某个表的数据导出到文件中。
我的表中有10000条记录。
每次导出到第2500条记录后,执行MoveNext()就内存出错。
可是将代码移植到一个非服务程序中,运行正常。请问这是怎么回事?
解决方案 »
- Windows如何获取USB端口号,有实例更好。
- 智勇三国的宣传材料,请大家帮我看一下
- SetBkMode在OnEraseBkgnd和CtlColor的区别
- 求vc2005环境的数据库编程demo!
- 在VC中.C文件和.CPP文件有什么区别,进来看这个程序.
- 如何测试point(x . y)在区域(Rect)中那一部分(左,右,上,下,左上,右上,左下,右下)?
- 当DLL被显式加载时,我想在case DLL_PROCESS_ATTACH:将DLL本身存为a.dll,怎么做呢?(不要拷贝原文件,有无办法)
- Cpropersheet问题
- 钩子函数,mouse消息
- 如何获得当前正被激活的IE浏览器
- ADO查询access问题
- ADO我调到recordset.update()时就出错啊,请帮我解决
你先注意一下几点:
1.char[nn]之类的变量,最好不用,特别是在循环语句中;
2.一个函数内不要有两次数据库连接操作,比如两个Recordset->Open(...),将一个放到另一个函数中,在这个函数中调用。
3.注意服务程序中CoInitialize(), CoUninitialize()的使用。
4.你把错误信息贴出来,也好给你参谋。
服务启动后一段时间,弹出错误窗口,错误信息:
“0x04c2f35c”指令引用的“0x051f1174”内存。
该内存不能为“writen”。
请再帮忙判断一下是什么问题。
另外,我想知道msdn上是否这方面的说明。
程序中也在循环体中使用了char[nn]的变量,
可是不用不行啊!
如果是对象,注意new -- delete配合使用。你说的问题很可能是内存泄漏造成的,仔细检查程序,不成的话把程序贴出来,大家看看,出出主意。