Delphi写的数据同步程序提示“内存不足”
来源:互联网 发布:淘宝卖家拉黑买家 编辑:程序博客网 时间:2024/05/29 13:16
之前有做一个数据同步程序,A库是业务库,B库是临时库,临时库是给别人用的,里面的表比A库少,也就2、30张,里面有2张图片表,其他的都是普通数据表。
我做好的同步程序的功能就是同步A库中的业务数据到B库,B库没有则添加,有则修改。但是从开始到前几天一直有一个表不能同步,到这个表就报内存错误,困扰了我一两个月之久。之间有试好多办法都不行,后来准备写一个程序单独抽取这个图片表的时候发现了问题,并解决了它,贴在下面,帮助自己,同时也给那些跟我有同样错误的人一些提示。
我的同步方法是建立两个连接,连接到A库和B库,然后有两个ADOQuery通过不同的连接同时访问A库和B库的当前同步表,对每条记录做判断,看看库B中是否有此条记录,没有增加,有则修改内容,循环列赋值。
添加的代码就是
ADOQueryA.close;
ADOQueryA.Sql.Text := 'select c1, c2, c3 from t1 where 1 = 1';
ADOQueryA.Sql.Open;
ADOQueryA.Append;
....
ADOQueryA.Post;
//各位大牛们只要心细,应该已经看出我语句的BUG了,其实就是因为一个逻辑错误where 1 = 1,这个是因为我方便加and条件而设立的,但是添加时应该查询空表,所以1 = 1是等同于没有过滤,查询全表了,我的表记录有50W+,每条记录有20-30K,这样全部放到内存里肯定会超的,只要多加一个where 1 = 1 and 1 = 2即可。因为我的查询语句是在一个Access表设置的,所以1 = 1我无法去掉,可能看起来很不爽,但是我也只能这样写。自己粗心一直是一个蛋碎的问题。
- Delphi写的数据同步程序提示“内存不足”
- Delphi写的DES加密程序
- Delphi使用SDK写最小的程序
- delphi写的程序out of memory??
- 自己写的一个DELPHI 控制台程序
- 系统提示“内存不足”的原因及解决方法
- 解决MyEclipse提示内存不足的问题
- Windows 7提示内存不足的解决办法
- 播放录制的视频提示内存不足
- 解决MyEclipse提示内存不足的问题
- 为什么我的电脑总是提示内存不足?
- wordpress后台提示内存不足的解决办法
- 系统提示“内存不足”的原因及解决方法
- Windows 7 频繁提示:计算机的内存不足
- python写的目录同步小程序
- 写好Hive程序的五个提示
- 写好Hive 程序的五个提示
- 写好Hive 程序的五个提示
- 结构体字节对齐问题
- QT 命令行编译工程
- 平台服务将成为通往云计算成功的重要道路
- 编程学习
- 第二周作业(2014.3.13)
- Delphi写的数据同步程序提示“内存不足”
- ZOJ-1133
- 稀疏表示介绍(上)
- Android应用程序基础
- Key-Value Pair 排序 —— 兼容所有类型
- Delphi ''测试...'' is not a valid component name.
- 博客正式开通
- What is autoboxing and unboxing in Java
- linux 下 eclipse hadoop 配置及 wordcount验证