首页 > 解决方案 > 如何使用 MFC ODBC 在 MySQL 中存储图像?

问题描述

我收到错误消息

错误:不支持转换

如何使用 MFC ODBC 在 MySQL 中存储图像?

到目前为止,这是我的代码:

Cperson person;
person.Open();
person.MoveLast();
person.AddNew();    

CFile   fileImage;
CFileStatus fileStatus;

fileImage.Open(_T("hihi.jpg"), CFile::modeRead);
fileImage.GetStatus(fileStatus);

person.m_Image.m_dwDataLength = fileStatus.m_size;

HGLOBAL hGlobal = GlobalAlloc(GPTR, fileStatus.m_size);
person.m_Image.m_hData = GlobalLock(hGlobal);

fileImage.Read(person.m_Image.m_hData, fileStatus.m_size);

person.SetFieldDirty(&person.m_Image);
person.SetFieldNull(&person.m_Image, FALSE);
person.Update();

GlobalUnlock(hGlobal);
fileImage.Close();
person.Close();
//m_Image is CLongBinary

我能做些什么?“person.Update();”行中的错误

标签: mysqlmfcodbc

解决方案


尝试使用 ReadHuge 代替 Raad,因为可以使用超过 64k 的 ReadHuge,

fileImage.ReadHuge(person.m_Image.m_hData, fileStatus.m_size);


推荐阅读