社区
数据库
帖子详情
读blob字段存到char 数组里
chengchaog
2008-09-17 03:41:05
我通过ADO读了,但是不知道怎么保存到char数组里
那个大大写个例子
...全文
128
7
打赏
收藏
读blob字段存到char 数组里
我通过ADO读了,但是不知道怎么保存到char数组里 那个大大写个例子
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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);
Java数据类型与MySql数据类型对照表
本文讲述了Java数据类型与MySql数据类型对照表。分享给大家供大家参考,具体如下: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VAR
CHAR
L+N VAR
CHAR
java.lang.String 12
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
JAVA 操作Oracle 数据库
Blob
字段
因为今天需要测试插入Oracle 数据库带有
Blob
字段
的数据的速度。之前几乎没用过Oracle 数据库所以在写代码测试之前也遇到过很多坑。 测试框架:springBoot +Mybatis 框架的搭建就不具体说明了。 总体思路: 插入:因为Oracle
BLOB
字段
存储的数据是二进制的数据。所以我先把图片转换成二进制数据用byte[]
数组
来存储进行插入。 导出:把
BLOB
字段
的二进制...
新版通俗易懂的JDBC升级版教程(含配套资料)
本套视频教程共57小结,涵盖JDBC的方方面面,包括手动获取数据库连接的多种方式、使用数据库连接池获取连接、Statement与PreparedStatement的对比使用、sql注入问题讲解、
Blob
字段
的操作、高效的批量插入、DAO设计模式、使用dbutils提供的相关工具类等。此外,还对数据库事务进行详解,利用反射及 JDBC 元数据编写通用的查询方法等企业级开发内容。源码级讲授DBUtils 工具类的实现思想,DEBUG 调试其运行过程。示例代码专业、实用,并配备多个课后习题,使学员能站在更高层次上深入掌握 JDBC 技术。
oracle
blob
字段
转,java oracle
blob
字段
的内容转成字符窜
public static String Convert
BLOB
toString(String city_id, String data_date) { String newStr = ""; // 返回字符串 long
Blob
Length; //
BLOB
字段
长度 byte[] bytes; //
BLOB
临时存储字节
数组
int i = 1; // 循环变量 Connection ...
hibernate oracle
blob
,Hibernate3操作Oracle的
Blob
字段
Hibernate3操作Oracle的
Blob
字段
hibernate作为一个优秀的OR-Mapping构架,对数据库的基本操作进行了比较好的封装,针对
Blob
类型
字段
的操作也不例外。但网上大部分能找到的hibernate操作
Blob
的例程都是基于hibernate2版本的,同时在实际操作中我发现针对不同的数据库,可以有不同的操作方法。下面将hibernate3操作oracle的
Blob
字段
进行一个...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章