码迷,mamicode.com
首页 > 数据库 > 详细

C#直接将图片信息存放在数据库

时间:2015-01-23 12:31:49      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

最近做了个小项目,需要把图片信息直接存放在数据库,而不是把图片路径存放数据库中,具体做法是

 数据库表中photo的字段类型为image类型

string filepath = @"C:\Users\Administrator\Desktop\照片\1.jpg";  //本地图片的路径
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
int length = Convert.ToInt32(fs.Length);
byte[] b = new byte[length];
fs.Read(b, 0, length);
string sql = "update lkzpb set photo=@photo,zjphoto=@photo where lk_id=" + count;
SqlParameter pms = new SqlParameter("@photo", SqlDbType.Image);
pms.Value = b;

//执行更新数据库的操作,sqlhelper是封装好的对数据库的操作
result += SqlHelper.ExecuteNonQuery(sql, pms);

 

执行完以上操作就把图片存放到数据库中相应的字段了

 

下面将获取数据库中的图片信息并将其显示在picturebox中

 

首先在winform界面上添加一个picturebox,名字为picturebox1

string strSearch = "select * from lkzpb where lk_id=1";

//将查询到的数据存放在一个DataTable中
DataTable dt = SqlHelper.ExecuteDataTable(strSearch);

//获取数据库中photo字段的信息,将其强转为byte[]数组类型,在dt中第0行第一列为photo的信息
byte[] bytes = (byte[])dt.Rows[0][1];


Stream stream = new MemoryStream(bytes);

int length = Convert.ToInt32(stream.Length);
byte[] insertbte = new byte[length];
stream.Read(insertbte, 0, length);

Image image = Image.FromStream(stream, true);

//在picturebox中显示图片
pictureBox1.Image = image;

 

C#直接将图片信息存放在数据库

标签:

原文地址:http://www.cnblogs.com/ampsl/p/4243507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!