社区
数据库相关
帖子详情
dbExpress调用存储过程出现内存泄漏
董董
2010-10-20 04:49:32
用dbExpress的TSQLStoredProc控件,调用Oracle的存储过程,每次调用都会发生内存泄漏。
我使用的是Delphi 2009版本,已经升级到最后版本。
谁遇到过此问题,如何解决?
...全文
104
7
打赏
收藏
dbExpress调用存储过程出现内存泄漏
用dbExpress的TSQLStoredProc控件,调用Oracle的存储过程,每次调用都会发生内存泄漏。 我使用的是Delphi 2009版本,已经升级到最后版本。 谁遇到过此问题,如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vga
2012-09-19
打赏
举报
回复
procedure TFormMain.Button1Click(Sender: TObject);
var
User_ID, Step, Process, From_ID, To_ID, Data_ID: integer;
CharCnt, CCharCount, Ticks: Integer;
PeiorityOrder, SinglePassField: Boolean;
ImgName: string;
begin
Ticks := GetTickCount;
User_ID := StrToIntDef(Edit1.Text, 3);
Step := StrToIntDef(Edit2.Text, 0);
Process := StrToIntDef(Edit3.Text, 3);
Data_ID := StrToIntDef(Edit4.Text, 0);
To_ID := StrToIntDef(Edit5.Text, 10000);
PeiorityOrder := CheckBox1.Checked;
SinglePassField := CheckBox2.Checked;
repeat
From_ID := Data_ID + 1;
SQLStoredProc1.Active := false;
SQLStoredProc1.ParamByName('User_ID').AsInteger := User_ID;
SQLStoredProc1.ParamByName('Step').AsInteger := Step;
SQLStoredProc1.ParamByName('Process1').AsInteger := Process;
SQLStoredProc1.ParamByName('From_ID').AsInteger := From_ID;
SQLStoredProc1.ParamByName('To_ID').AsInteger := To_ID;
SQLStoredProc1.ParamByName('PriorityOrder').AsInteger := Ord(PeiorityOrder);
SQLStoredProc1.ExecProc;
if SQLStoredProc1.ParamByName('Data_ID').AsInteger > 0 then begin
Data_ID := SQLStoredProc1.ParamByName('Data_ID').AsInteger;
ImgName := SQLStoredProc1.ParamByName('ImageName').AsString;
SQLStoredProc2.Active := false;
SQLStoredProc2.ParamByName('Data_ID').AsInteger := Data_ID;
SQLStoredProc2.ParamByName('Step').AsInteger := Step;
SQLStoredProc2.ParamByName('Process1').AsInteger := Process;
SQLStoredProc2.ParamByName('CharCount').AsInteger := 9;
SQLStoredProc2.ParamByName('CCharCount').AsInteger := 9;
SQLStoredProc2.ParamByName('Ticks').AsInteger := 10;
SQLStoredProc2.ExecProc;
SQLStoredProc2.Params.
end;
until Data_ID=0;
Ticks := (GetTickCount - Ticks) div 1000;
Caption := IntToStr(Ticks);
end;
kye_jufei
2010-10-25
打赏
举报
回复
把代碼貼出來看看,估計是code有問題。。。。。。。。。。
董董
2010-10-24
打赏
举报
回复
[Quote=引用 4 楼 fengsh998 的回复:]
就是咩,我看李维的例子。写了一个测试,不过我没有注意是不是真有。后天回去看看。
哥门,帮我看看你的2009访问ORACLE的CLOB字段操作是不是没问题了。
我用BDS2006访问,很是有问题呢。
[/Quote]
我没有使用过CLOB字段啊,没遇到过你的问题。
边缘998
2010-10-23
打赏
举报
回复
就是咩,我看李维的例子。写了一个测试,不过我没有注意是不是真有。后天回去看看。
哥门,帮我看看你的2009访问ORACLE的CLOB字段操作是不是没问题了。
我用BDS2006访问,很是有问题呢。
董董
2010-10-20
打赏
举报
回复
[Quote=引用 1 楼 taiguang 的回复:]
检查有些类是不是创建了没有释放掉。。。。。
[/Quote]
没有什么手动创建而没有释放的可能,因为都是拖控件,一个TSqlconnection,一个TSqlStoredProcr控件,然后就是设置属性,再就是调用。每个人都可以很快做个例程去验证的。
软件钢琴师
2010-10-20
打赏
举报
回复
检查有些类是不是创建了没有释放掉。。。。。
摘抄:数据库连接池
ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader。DataSet提供内存中关系数据的表现--包括表和次序、约束等表间的关系的完整数据集合。DataReader提供快速、只向前、只读的...
PHP沉思录-第一篇-工作模型与数据库访问接口-左轻侯-《程序员》2007年5月号
Borland开发的用于取代BDE的新一代数据库引擎
db
Express
,其改进也与此类似。 与之对比,PHP中对数据集的支持显得非常原始。无论是传统的API还是PDO,取回的数据仅仅表现为数组,并且没有任何缓存机制。这意味着...
PHP沉思录(转载)
Borland开发的用于取代BDE的新一代数据库引擎
db
Express
,其改进也与此类似。 与之对比,PHP中对数据集的支持显得非常原始。无论是传统的API还是PDO,取回的数据仅仅表现为数组,并且没有任何缓存机制。这意味...
PHP沉思录之工作模型
Borland开发的用于取代BDE的新一代数据库引擎
db
Express
,其改进也与此类似。 与之对比,PHP中对数据集的支持显得非常原始。无论是传统的API还是PDO,取回的数据仅仅表现为数组,并且没有任何缓存机制。这意味着,...
PHP沉思录之一 : PHP工作模型
Borland开发的用于取代BDE的新一代数据库引擎
db
Express
,其改进也与此类似。 与之对比,PHP中对数据集的支持显得非常原始。无论是传统的API还是PDO,取回的数据仅仅表现为数组,并且没有任何缓存机制。这意味着,在...
数据库相关
2,496
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章