ODBC 访问sql image数据类型
在一个回调函数内做image类型的存储工作,用的odbc,recordset方式,数据集在程序初始化时已经open,在程序关闭时close,在回调函数内做以下操作,图像内容存在pBuf指针所指的内存内,长度为nSize,现在的问题是回调函数2-3秒调用一次,函数内存持续增长,请问是存储image数据类型这段有错误还是因为recordset未关闭导致的内存增长。
imagealarmpic.AddNew();
imagealarmpic.m_column2.m_hData=::GlobalAlloc( GHND ,nSize);
ASSERT(imagealarmpic.m_column2.m_hData != NULL);
BYTE* pBuffer=(BYTE*)GlobalLock(imagealarmpic.m_column2.m_hData);
ASSERT(pBuffer != NULL);
memcpy(pBuffer,pBuf,nSize);
imagealarmpic.SetFieldNull(&imagealarmpic.m_column2,FALSE);//设置记录为NULL;
imagealarmpic.SetFieldDirty(&imagealarmpic.m_column2);//标志数据库已经修改;
imagealarmpic.Update();
::GlobalUnlock(imagealarmpic.m_column2.m_hData);
HGLOBAL hhh = ::GlobalFree(imagealarmpic.m_column2.m_hData);
imagealarmpic.m_column2.m_dwDataLength=0;
imagealarmpic.m_column2.m_hData=NULL;