>  기사  >  데이터 베이스  >  C# 存取SqlServer中的Image类型

C# 存取SqlServer中的Image类型

WBOY
WBOY원래의
2016-06-07 15:35:001667검색

有时候我们需要将图片存到数库中的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

有时候我们需要将图片存到数库中的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;

}

}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.