社区
数据库
帖子详情
如何将jpeg图片存入ACCESS数据库,急,急!
zhuchangquan_0
2002-07-04 11:17:02
如何将jpeg图片存入ACCESS数据库,急,急!
...全文
70
2
打赏
收藏
如何将jpeg图片存入ACCESS数据库,急,急!
如何将jpeg图片存入ACCESS数据库,急,急!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhuchangquan_0
2002-07-05
打赏
举报
回复
谢谢你的帮助!
mfkzj
2002-07-04
打赏
举报
回复
#include <adoid.h>
#include <adoint.h>
#include <icrsint.h>
#include <atlbase.h>
ADOConnection* m_Conn;
ADORecordset* m_Rec;
//_RecordsetPtr m_Rec;
ADOFields* pFields;
///////设置ADO COM接口
const IID IID_IADOConnection =
{0x00000550,0x0000,0x0010,{0x80,0x00,0x00,0xAA,0x00,0x6D,0x2E,0xA4}};
const CLSID CLSID_CADOConnection =
{0x00000514,0x0000,0x0010,{0x80,0x00,0x00,0xAA,0x00,0x6D,0x2E,0xA4}};
const IID IID_IADORecordset =
{0x00000556,0x0000,0x0010,{0x80,0x00,0x00,0xAA,0x00,0x6D,0x2E,0xA4}};
const CLSID CLSID_CADORecordset =
{0x00000535,0x0000,0x0010,{0x80,0x00,0x00,0xAA,0x00,0x6D,0x2E,0xA4}};
void COleadoDlg::OnOK()
{
// TODO: Add extra validation here
HRESULT hr;
DWORD FileSize,count;
// LONG num;
char *pBuf;
VARIANT varBLOB;
SAFEARRAY *psa;
VARIANT rgvFields;
VARIANT rgvValues;
CFile f;
CFileException e;
HGLOBAL hfilemem;
SAFEARRAYBOUND rgsabound[1];
hr=CoInitialize(NULL);
CString Constr,wCmdString,tempstr;
CComPtr<ADOField> pField;
if(FAILED(hr))
m_Conn = NULL;
m_Rec = NULL;
pFields = NULL;
if(!f.Open(m_PhotoPath,CFile::modeRead,&e))
{
AfxMessageBox("打开文件错误!");
return;
}
f.SeekToBegin();
FileSize=f.GetLength();
hfilemem=GlobalAlloc(GMEM_MOVEABLE,(FileSize));
if(!hfilemem)
{
::AfxMessageBox("内存不够!");
return;
}
pBuf=(char *)GlobalLock(hfilemem);
count=f.Read(pBuf,FileSize);
if(count!=FileSize)
{
::AfxMessageBox("数据错误");
f.Close();
return;
}
f.Close();
hr = ::CoCreateInstance((REFCLSID)CLSID_CADOConnection,NULL,CLSCTX_INPROC_SERVER,\
(REFIID)IID_IADOConnection,(LPVOID*)&m_Conn);
if (FAILED(hr))
return ;
hr = ::CoCreateInstance((REFCLSID)CLSID_CADORecordset,NULL,CLSCTX_INPROC_SERVER,\
(REFIID)IID_IADORecordset,(LPVOID*)&m_Rec);
if (FAILED(hr))
return ;
tempstr="E:\\练习\\MyApp\\数据库\\oleado\\oleado.mdb";
Constr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+tempstr+";Persist Security Info=False";
hr = m_Conn->Open(CComBSTR(Constr),CComBSTR(""),CComBSTR(""),adOpenUnspecified);
if (FAILED(hr))
{
::AfxMessageBox("连接数据库错误!");
return ;
}
wCmdString=_T("select * from userphoto");//
hr = m_Rec->Open(CComVariant(wCmdString),CComVariant(m_Conn),adOpenKeyset,adLockOptimistic,adCmdText);
if (FAILED(hr))
{
::AfxMessageBox("打开表错误!");
return ;
}
/* 添加新的记录 需要两个参数 所以添加两个空的参数*/
rgvFields.vt = VT_ERROR;
rgvFields.scode = DISP_E_PARAMNOTFOUND;
rgvValues.vt = VT_ERROR;
rgvValues.scode = DISP_E_PARAMNOTFOUND;
UpdateData();
m_Rec->AddNew(rgvFields, rgvValues);
m_Rec->put_Collect(CComVariant(1),(CComVariant)(m_UserName));
m_Rec->put_Collect(CComVariant(2),CComVariant((long)m_UseOld)); ///为新记录填充username字段
pField=NULL;
if(pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = FileSize;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound); ///创建SAFEARRAY对象
for (long i = 0; i < (long)FileSize; i++)
SafeArrayPutElement (psa, &i, pBuf++); ///将pBuf指向的二进制数据保存到SAFEARRAY对象psa中
varBLOB.vt = VT_ARRAY | VT_UI1; ///将varBLOB的类型设置为BYTE类型的数组
varBLOB.parray = psa; ///为varBLOB变量赋值
m_Rec->get_Fields(&pFields);//加入BLOB类型的数据
pFields->get_Item(CComVariant(3),&pField);
pField->AppendChunk(varBLOB);///加入BLOB类型的数据
}
hr=m_Rec->Update(rgvFields, rgvValues);
if(FAILED(hr))
{
::AfxMessageBox("保存失败!");
return ;
}
// m_Rec->UpdateBatch(adAffectAll);
GlobalUnlock(hfilemem);
GlobalFree(hfilemem);
if(m_Rec)
{
m_Rec->Release();
}
if(m_Conn)
{
m_Conn->Close();
m_Conn->Release();
}
::AfxMessageBox("个人资料保存成功");
m_PhotoPath.Empty();
m_UseOld=0;
m_UserName.Empty();
SetDlgItemText(IDC_USERNAME, (LPCTSTR)" "); //在编辑框1中显示文件名
SetDlgItemInt(IDC_USEROLD,0);
// UpdateData(TRUE);
// CDialog::OnOK();
}
jpeg
.zip_
jpeg
_
图片
数据库
delphi
标题"
jpeg
.zip_
jpeg
_
图片
数据库
delphi"表明我们将讨论如何在Delphi开发环境中将
JPEG
图片
通过流(Stream)的方式
存入
ACCESS
数据库
。描述中提到的“
jpeg
图片
通过流转换后
存入
ACCESS
数据库
中”进一步确认了这个主题。...
vc存取jpg
图片
到
数据库
在VC++环境中,将
JPEG
图片
存入
Access
数据库
通常涉及到几个关键步骤:图像数据的读取、转换和存储。以下是对这个过程的详细说明: 首先,我们需要了解
Access
数据库
的结构。在
Access
中,可以使用BLOB(Binary Large ...
Delphi环境下
Access
数据库
中OLE对象的读写操作(论文)
7. 关键代码片段:论文中提及了TForm1的几个方法,如SavePmpJPg过程用于将图像保存到
Access
数据库
中,DisplayBMP过程用于显示BMP图像。代码涉及到ADO组件的配置、流的操作方法以及如何将图像文件存储到
数据库
中或从...
VB保存
图片
到
数据库
中.rar
在VB(Visual Basic)编程中,将
图片
保存到
Access
数据库
是一项常见的操作,特别是在构建具有多媒体功能的应用程序时。
Access
数据库
支持存储多种数据类型,包括Binary字段类型,这使得它可以存储图像和其他二进制数据...
vc 存取jpg
图片
到
数据库
.rar_VC
图片
_
access
_jpg 数据_vc
access
_修改
图片
在VC++环境中,将
JPEG
图片
存入
Access
数据库
并进行修改是一项常见的任务,特别是在开发桌面应用程序时。本教程将深入探讨如何使用Visual C++ (VC++) 和Microsoft
Access
来处理这一问题。 首先,我们需要理解
Access
...
数据库
4,017
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章