网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
VC++在Sql Server数据库中如何存取图片信息
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
->GetItem("photo")->Value= varBLOB;//保存到数据集对象。
以上就是关于ADO的Stream对象操作数据库中的blob字段的具体方法,主要是对图片我们还可对它进行改造成其他的,比如读者可以改造成读取XMl文件,并保存等等。

void CDlsjzDlg::ReadData()
{
if(m_pRecordset- >adoEOF||m_pRecordset->BOF)
{
m_name.Empty();
m_ghao.Empty();
UpdateData(FALSE);
return;
}
char *m_pBMPBuffer1;
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))
{
if(m_pBMPBuffer1 = new char[lDataSize+1]) {
char *pBuf = NULL;
SafeArrayAccessData(varBLOB.parray,(void **) &pBuf);
memcpy(m_pBMPBuffer1,pBuf,lDataSize);
SafeArrayUnaccessData (varBLOB.parray);
m_nFileLen = lDataSize;
Picture.Load((BYTE *)m_pBMPBuffer1,lDataSize);
m_Display.SetBitmap((HBITMAP)Picture.GetSafeHandle());
}
}
}
else
{
Picture.Load(IDB_BITMAP1, "BMP");
m_Display.SetBitmap((HBITMAP)Picture.GetSafeHandle());
}
m_name=m_pRecordset- >GetCollect(_variant_t("syz")).bstrVal;
if(m_name <=''0'') m_name=_T("");
m_ghao=m_pRecordset- >GetCollect(_variant_t("gonghao")).bstrVal;
if(m_ghao <''0'') m_ghao=_T("");
m_ddd=m_pRecordset- >GetCollect(_variant_t("jcdata"));
m_ddd.vt=VT_DATE;
m_jcdate.SetValue(m_ddd);
m_ddd=m_pRecordset- >GetCollect(_variant_t("sjdata"));
m_ddd.vt=VT_DATE;
m_sjdate.SetValue(m_ddd);
m_jqbh.Format( "%d",m_pRecordset->GetCollect(_variant_t("jqbh")).intVal);
if(m_jqbh==''0'')
m_jqbh= "公用";
else
m_jqbh=m_jqbh+ "號工作站";
m_pBMPBuffer1=NULL;
UpdateData(FALSE);
}
void CDlsjzDlg::Save()
{
UpdateData();
char *pBuf = m_pBMPBuffer;
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound;
m_pRecordset- >PutCollect("syz",_variant_t(m_name));
m_pRecordset- >PutCollect("jqbh",atol(m_jqbh));
m_pRecordset- >PutCollect("gonghao",_variant_t(m_ghao));
m_pRecordset- >PutCollect("jcdata",m_jcdate.GetValue());
m_pRecordset- >PutCollect("sjdata",m_sjdate.GetValue());
if(pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_nFileLen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
for (long i = 0; i < (long)m_nFileLen; i++)
SafeArrayPutElement (psa, &i, pBuf++);
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
m_pRecordset- >GetFields()->GetItem("photo")->AppendChunk(varBLOB);
}
m_pBMPBuffer=NULL;
m_pRecordset- >Update();
}

  • 上一篇资讯: 打印编程API函数类标
  • 下一篇资讯: VC使用SQLDMO控制 SQL Server
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号