发现ADOQuery的SQL语句关于参数一个蛋疼的问题,寻找解决?
以下代码
ADOQuery_Exec->SQL->Clear();
ADOQuery_Exec->SQL->Text = "insert into tbl_ecg_review values('000', '111', '2013-09-05 12:34:23', :blob01, :blob02, :blob03, :blob04, :blob05, 'aaaaaa')";
ADOQuery_Exec->Parameters->Clear();
就是这三句代码,放在Timer1的OnTimer里,设置定时器时间间隔为20毫秒,然后打开任务管理器,查看内存使用状况,会发现内存不断增加。
如果我将SQL语句中的参数去掉,就不会有内存泄露的问题。
看起来ADOQuery控件的sql语句只要碰见“:”,就会自动创建一个TParameter对象,然而“ADOQuery_Exec->Parameters->Clear();”一点不起作用,竟然是这个原因造成内存泄露,真是蛋疼。
这个要怎么解决?
就是说不需要参数也可以向数据库插入Blob类型的数据?或者参数是静态的,设计时手工添加,不在SQL语句中用“:”表现出来,要怎么弄?