3411|4

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE下数据库编程Execute(...)函数消耗内存问题 [复制链接]

我在实现
ADOCE3.1+SQLCE2.0/SQLCE3.0
或OLEDB+SQL2.0/SQLCE3.0
每次运行到Execute()进行数据添加删除更新查询等所有功能后.平均调用2-3次就会扣除4096B大小的内存.
请问一下如何把这扣除的内存释放?..

最新回复

所有功能都是这种现象..SQLCE3.0更严重了.是不是要组件升级还是怎么的?还是本来就会出现这种现象.ADOCE和OLEDB是分开2个人写的.都一句一句代码检测内存了.时漏时不漏.2种方法都是Execute那出问题?  详情 回复 发表于 2009-3-30 17:30
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如何?
看看自己的程序是否有内存泄露
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没有的就到了这里内存就少了.有时扣0有时扣4096
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
定义        HRESULT                         hr                = NOERROR;       
        IDBInitialize    *pIDBInitialize        = NULL;
        IDBCreateCommand *pIDBCrtCmd                = NULL;
        ICommandText     *pICmdText                = NULL;
        IDBProperties    *pIDBProperties        = NULL;               
        DBPROP                         dbprop[1];                       
        DBPROPSET                 dbpropset[1];               
释放        SysFreeString(dbprop[0].vValue.bstrVal);
        VariantClear(&dbprop[0].vValue);
       
        if(pICmdText)
        {
                pICmdText->Release();
        }
       
        if(pIDBCrtCmd)
        {
                pIDBCrtCmd->Release();
        }
       
        if(pIDBInitialize)
        {
                pIDBInitialize->Release();
        }

        if (pIDBProperties)
        {
                pIDBProperties->Release();
        }               
调用Execute
hr = pICmdText->Execute(NULL, IID_NULL, NULL, NULL, NULL);
        if(FAILED(hr))
        {
        //        AfxMessageBox(L"添加失败",MB_OK);
                goto Exit;
        }
我都是看着微软的例子做的.
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
所有功能都是这种现象..SQLCE3.0更严重了.是不是要组件升级还是怎么的?还是本来就会出现这种现象.ADOCE和OLEDB是分开2个人写的.都一句一句代码检测内存了.时漏时不漏.2种方法都是Execute那出问题?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表