您的位置:首页 > 数据库

C# 存取SqlServer中的Image类型

2010-11-02 23:28 253 查看
http://www.cnblogs.com/liujiang/archive/2009/03/10/1407578.html



有时候我们需要将图片存到数库中的Imgae类型的字段下,以下是存取的两种方法:

存:

public void Save()

{

using(System.IO.FileStream stream = new
System.IO.FileStreamfile,System.IO.FileMode.Open,System.IO.FileAccess.Read)

{
byte[] buffer = new byte[stream.Length];
stream.Read(buffer,
0, (int)stream.Length);
stream.Close();
string strName =
System.IO.Path.GetFileNameWithoutExtension(file);
SqlCommand cmd = new
SqlCommand("Insert into Temp(name,photo) values(@name,@image)", sqlConn);

cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = strName;

cmd.Parameters.Add("@image", SqlDbType.Image).Value = buffer;

cmd.ExecuteNonQuery();

}

}

取:

public void GetImage()

{

SqlCommand cmd = new SqlCommand(@"SELECT name, photo FROM Temp", sqlConn);

sqlConn.Open();
SqlDataReader reader = cmd .ExecuteReader();
if
(reader.Read())
{
image_filename= (string) reader.GetValue(0);

byte[] image_bytes = (byte[]) reader.GetValue(1);
MemoryStream ms = new
MemoryStream(image_bytes);
Bitmap bmap = new Bitmap(ms);
return bmap;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: