社区
数据库
帖子详情
在数据库里如何保存图片
zzz_zou
2010-11-23 08:44:09
我想知道的是:
1 是否可以使用SQL语句来保存,如果可以,如何保存,我使用navicat?
2 不能使用SQL来保存,那么使用C++ connect如何保存呢?
3 在数据库里存入大量图片对检索速度有影响吗?
谢谢大家。
...全文
523
24
打赏
收藏
在数据库里如何保存图片
我想知道的是: 1 是否可以使用SQL语句来保存,如果可以,如何保存,我使用navicat? 2 不能使用SQL来保存,那么使用C++ connect如何保存呢? 3 在数据库里存入大量图片对检索速度有影响吗? 谢谢大家。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzz_zou
2010-11-27
打赏
举报
回复
谢谢大家~
zhu_terry
2010-11-26
打赏
举报
回复
存图片一般有两种方式,一种是存图片的相对路径。
一种就是以二进制直接将图片存入数据库。
个人比较推荐用前者,如果是直接存数据库的话,各种数据库略微有点不同,但一般都要借助于数据库的数据表中的二进制字段来实现。至于具体怎么存取这个二进制字段的话,每种数据库接口技术有其自身的API和帮助文档。比方微软的ADO中就有方法可以读存数据库的二进制字段。
shiter
2010-11-25
打赏
举报
回复
我也想把图片存在数据库中,在学生管理系统中每个人登录的时候显示出来?楼上说的好麻烦呀,学识不够啊。。有没有啥么好办法
shiter
2010-11-25
打赏
举报
回复
sql中所存储的图片是什么格式的,还是只存储图片的地址呢?
xumaojun
2010-11-25
打赏
举报
回复
具体方式与你访问数据库的方式有关,ODBC,ADO等,
如果是ADO方式访问数据库可以用安全数组SafeArray或者流的方式
zzz_zou
2010-11-25
打赏
举报
回复
我使用navicat 可以手动插入图片, 如果使用MFC,ADO接口, 网上也有C++代码。
我使用C++接口的,智能自己去读取图片,然后插入。
zzz_zou
2010-11-24
打赏
举报
回复
[Quote=引用 5 楼 xianglitian 的回复:]
引用 4 楼 zzz_zou 的回复:
引用 3 楼 xianglitian 的回复:
我觉得数据库里最好存文件路径不要存文件实体
当然这只是个人拙见
若是一定要存呢!
这个我没尝试过
不敢妄言
[/Quote]
- -
我找到1个方法, 以2进制数据读取图片,然后将数据转化成16进制,在数据库中相应字段取long blob类型
然后 insert就可以了。~
向立天
2010-11-24
打赏
举报
回复
[Quote=引用 4 楼 zzz_zou 的回复:]
引用 3 楼 xianglitian 的回复:
我觉得数据库里最好存文件路径不要存文件实体
当然这只是个人拙见
若是一定要存呢!
[/Quote]
这个我没尝试过
不敢妄言
zzz_zou
2010-11-24
打赏
举报
回复
[Quote=引用 3 楼 xianglitian 的回复:]
我觉得数据库里最好存文件路径不要存文件实体
当然这只是个人拙见
[/Quote]
若是一定要存呢!
向立天
2010-11-24
打赏
举报
回复
我觉得数据库里最好存文件路径不要存文件实体
当然这只是个人拙见
zzz_zou
2010-11-24
打赏
举报
回复
我先自己顶起来 兄弟们 给力!
zzz_zou
2010-11-24
打赏
举报
回复
标准C++和C还是很多区别的。呵呵 比如字符串的处理。
ttxx3588679
2010-11-24
打赏
举报
回复
c++ 不太懂,和c区别大吗
zzz_zou
2010-11-24
打赏
举报
回复
文件流好像只能得到char, 如何得到unsigned char a
我使用的是标准C++对数据库进行操作的- -
手机写程序
2010-11-24
打赏
举报
回复
这里有个用ado保存jpg到access的例子.但字段是ole对象.
如果是到SQL server,网上也有例子.
http://www.vckbase.com/code/database/ado/ado_jpg.zip
conan_messi
2010-11-24
打赏
举报
回复
BOOL CMyRecordSet::SavePicToDb(LPSTR field, BYTE *picbuf,LONG bufsize)
{
SAFEARRAYBOUND rgsabound;
rgsabound.lLbound = 0;
rgsabound.cElements = bufsize;
SAFEARRAY *psa=::SafeArrayCreate(VT_UI1,1,&rgsabound);
for(LONG i=0;i<bufsize;i++)
::SafeArrayPutElement(psa,&i,picbuf++);
variant_t data;
data.vt=VT_ARRAY|VT_UI1;
data.parray=psa;
m_pRecordset->PutCollect(field,data);
//更新数据库操作
m_pRecordset->Update();
//释放空间
::SafeArrayDestroyData(psa);
return TRUE;
}
青稞
2010-11-24
打赏
举报
回复
读出来的数据,你直接存到unsigned char数组中去就可以了啊。。
yyl2bb
2010-11-24
打赏
举报
回复
将图片转成数据流吧?
zzz_zou
2010-11-24
打赏
举报
回复
7楼朋友的方法确实可以,不过读到的东西,我不会转化, 其实我最终是想实现以16进制方式读取图片数据,并保存在一个数组当中的。
可是我发现读到的char类型都很诡异, 图片我记得貌似要使用unsigned char来保存的, 用文件流貌似无法直接得到unsigned char啊~
char可以转化成unsigned char吗, 谢谢大婶教导,
还有我问的第3个问题怎么没人回答啊, 数据库高手呢~
zzz_zou
2010-11-24
打赏
举报
回复
我先试试, 谢谢大婶
8楼的朋友 的确无敌。
加载更多回复(4)
c# winform 把
数据库
里
读取出来的图片保存到本地硬盘上,图片下载
该博客介绍了如何在C# WinForm应用中从
数据库
读取图片并将其保存到本地硬盘。通过使用Oracle
数据库
查询图片,然后将数据转化为MemoryStream,加载到pictureBox1组件,最后保存为JPEG文件。示例代码展示了处理
数据库
中图片字段的方法。
图片内容保存到
数据库
,并从
数据库
里
获取图片
本文介绍了一种将图片保存到
数据库
并从中获取的方法,包括文件路径处理、流读取图片数据、
数据库
操作等步骤。
如何将pictureBox
里
的图片保存到
数据库
,然后从数据读取显示
本文介绍了一种使用PictureBox将图片转换为byte[]的方法,并尝试将其存储到
数据库
中。但在从
数据库
读取byte[]并转换回Image时遇到了问题。文中详细描述了错误现象及可能的原因。
数据库
4,017
社区成员
39,805
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章