标题:[原创]数据库中存储图片(二进制格式)
取消只看楼主
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
 问题点数:0 回复次数:12 
[原创]数据库中存储图片(二进制格式)

*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: andey QQ:122768959
*/ 时间: 2007-8-18 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------


看到好多类似的帖子..要么求助..要么不说..本人经历过了..虽然方法也是问的别人..但本人不敢独享,,,拿出来和大家分享一下...有点粗糙,,大家谅解..

首先..定义一个函数..将图片转化为二进制码
//定义将图片转化为长二进制代码的函数getphoto()
public Byte[] getphoto(string photopath)
{
string str = photopath;
FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[file.Length];
file.Read(bytBLOBData, 0, bytBLOBData.Length);
file.Close();
return bytBLOBData;
}//这是定义函数..

然后..就是将转换成二进制码的图片插入数据库中..下面是简单的也是重要的sql语句..
if (this.pictureBox1.Image != null)
{
sql1 = sql1 + ",Photo";
sql2 = sql2 + ",bytBLOBData";
Byte[] bytBLOBData = getphoto(openFileDialog1.FileName);
cmd.Parameters.Add(new OleDbParameter("jpeg", OleDbType.Binary, bytBLOBData.Length, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Default, bytBLOBData));
}

接下来..是读取...

string sql = "select photo from studentinfo where studentid = " + this.Tag.ToString();
OleDbCommand cmd = new OleDbCommand(sql, connection1);
if (Convert.DBNull != cmd.ExecuteScalar())
pictureBox1.Image = Image.FromStream(new MemoryStream((Byte[])cmd.ExecuteScalar()));//读取长二进制为图片..

//////说得很简单..旨在抛砖引玉..希望大家多多讨论...

搜索更多相关主题的帖子: 数据库 二进制 独享 中国 格式 
2007-08-18 16:54
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
这么经典...没人顶???
自己顶啦!!

msdn == 葵花宝典!!!
QQ:122768959
2007-09-21 11:14
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 

这可是被加精的帖子啊...
呜呜呜呜..


msdn == 葵花宝典!!!
QQ:122768959
2007-10-19 15:26
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
谢谢版主..版主真好心
感动!!!

msdn == 葵花宝典!!!
QQ:122768959
2007-10-19 15:31
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
哟...楼上哥们..你不顶我都忘记我还发过这个帖子啦...
呵呵
好老了

msdn == 葵花宝典!!!
QQ:122768959
2007-11-29 09:27
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
多谢版主和狼王!!!
pacocai-->公鸡中的战斗鸡!o耶

[[italic] 本帖最后由 andey 于 2007-11-29 15:56 编辑 [/italic]]

msdn == 葵花宝典!!!
QQ:122768959
2007-11-29 15:15
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 

好久不看了...
说的就是一个思想.一种方法...
不规范的(小写开头的)都是变量啦...

msdn == 葵花宝典!!!
QQ:122768959
2007-11-29 16:41
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
多谢捧场!!!!

msdn == 葵花宝典!!!
QQ:122768959
2007-12-13 12:14
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
路径也是一种方式,,但感觉不是很好!!!

msdn == 葵花宝典!!!
QQ:122768959
2007-12-17 15:15
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
原帖由 [bold][underline]梦心[/underline][/bold] 于 2007-12-19 15:03 发表 [url=http://bbs.][/url]
楼主这个方法很复杂哈~
读取二进制流应该可以吧



[bold]有好的方法可以说出来嘛..大家共同学习学习[/bold]

msdn == 葵花宝典!!!
QQ:122768959
2007-12-20 12:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-163706-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.924092 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved