社区
数据库
帖子详情
读blob字段存到char 数组里
chengchaog
2008-09-17 03:41:05
我通过ADO读了,但是不知道怎么保存到char数组里
那个大大写个例子
...全文
132
7
打赏
收藏
读blob字段存到char 数组里
我通过ADO读了,但是不知道怎么保存到char数组里 那个大大写个例子
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
内存泄漏
2008-09-17
打赏
举报
回复
不知道操作?? ADO的话,用如下代码不是可以实现吗???
long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;///得到数据的长度
if(lDataSize > 0)
{
_variant_t varBLOB;
varBLOB = m_pRecordset->GetFields()->GetItem("photo")->GetChunk(lDataSize);
if(varBLOB.vt == (VT_ARRAY | VT_UI1)) ///判断数据类型是否正确
{
char *pBuf = NULL;
SafeArrayAccessData(varBLOB.parray,(void **)&pBuf); ///得到指向数据的指针
/*****在这里我们可以对pBuf中的数据进行处理*****/
SafeArrayUnaccessData (varBLOB.parray);
}
}
chengchaog
2008-09-17
打赏
举报
回复
long lDataSize = dbs.pRec->GetFields()->GetItem("cd")->ActualSize;
if(lDataSize > 0)
{
_variant_t varBLOB;
varBLOB = dbs.pRec->GetFields()->GetItem("cd")->GetChunk(lDataSize);
if(varBLOB.vt == (VT_ARRAY | VT_UI1))
{
if(m_pBMPBuffer = new char[lDataSize+1]) ///重新分配必要的存储空间
{
for (long l=0; l <lDataSize; l++)
SafeArrayGetElement(varBLOB.parray, &l, (void*)&m_pBMPBuffer[l]);
// SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
// memcpy(m_pBMPBuffer,pBuf,lDataSize); ///复制数据到缓冲区m_pBMPBuffer
// SafeArrayUnaccessData (varBLOB.parray);
}
}
}
jameshooo
2008-09-17
打赏
举报
回复
也许数字中间有0,被认为是字符串结束符,可能你数据库中存的是UNICODE串吧。把pBuf重新解释成WCHAR*试试看
zhoujianhei
2008-09-17
打赏
举报
回复
很可能是unicode码,将工程转换到unicode,并且将char替换成TCHAR,再试试。
chengchaog
2008-09-17
打赏
举报
回复
,那个我在调试中,怎么数组只能看到最前面的那个字节,后面的都看不到了,打印出来也看不到,
jameshooo
2008-09-17
打赏
举报
回复
CComVariant var = xxx->GetChunk(xxx->ActualSize);
char* pBuf = new char[xxx->ActualSize];
for (long l=0; l<xxx->ActualSize; l++)
SafeArrayGetElement(var.parray, &l, (void*)&pBuf[l]);
delete[] pBuf;
zhoujianhei
2008-09-17
打赏
举报
回复
从数据库读出的结果放到CString中,之后
CString str;
....
char buf[200];
lstrcpy(buf, (LPSTR)(LPCTSTR)str);
ADO
读
写
blob
字段
### ADO
读
写
BLOB
字段
详解 #### 一、引言 在软件开发过程中,处理大量二进制数据(如图像、音频文件等)是非常常见的需求。这些数据通常被称为二进制大对象(
BLOB
,Binary Large Object)。本文将详细介绍如何使用...
MySQL 62 道面试题及答案.docx
当
CHAR
值被存储时,它们被用空格填充到特定长度,检索
CHAR
值时需删除尾随空格。 五、 主键和候选键的区别 表格的每一行都由主键唯一标识,一个表只有一个主键。主键也是候选键。按照惯例,候选键可以被指定为...
Java数据类型与MySql数据类型对照表
本文讲述了Java数据类型与MySql...
CHAR
N
CHAR
java.lang.String 1
BLOB
L+N
BLOB
java.lang.byte[] -4 TEXT 65535 VAR
CHAR
java.lang.String -1 INTEGER 4 INTEGER UNSIGNED java.lang.Long 4 TINYINT 3 TINYI
QT sqlite
BLOB
类型 写入
数组
//sqlite数据库的
BLOB
类型常常用来存
数组
,不同类型和长度的
数组
,需要转化为一个个 //字节。 //哪些
数组
呢,整型、浮点型、字符串都可以。图像的raw数据也是
数组
。
JAVA 操作Oracle 数据库
Blob
字段
因为今天需要测试插入Oracle 数据库带有
Blob
字段
的数据的速度。之前几乎没用过Oracle 数据库所以在写代码测试之前也遇到过很多坑。 测试框架:springBoot +Mybatis 框架的搭建就不具体说明了。 总体思路: 插入...
数据库
4,018
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章