1. 程式人生 > >方法:C#在WinForm中如何將Image存入SQL2000和取出顯示

方法:C#在WinForm中如何將Image存入SQL2000和取出顯示

close database 耗時 .exe while type comm res orm

//保存
sql="insert into p_ry_photo(id,photo) values (‘"+id+"‘,@i)";
SqlCommand cmd=new SqlCommand(sql,CommonVar.SqlConDataBase);
MemoryStream s = new MemoryStream();
picPhoto.Image.Save(s,System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] b = s.ToArray();
s.Close();
cmd.Parameters.Add("@i",SqlDbType.Image,(int)b.Length);
cmd.Parameters["@i"].Value=b;
cmd.ExecuteNonQuery();

//讀取圖象

private void Readphoto(string id)
{
try
{
string ls_sql="select photo from p_ry_photo where id=‘"+id+"‘";
this.picPhoto.Image=null;
this.picPhoto.Refresh();
SqlCommand cmd=new SqlCommand(ls_sql,CommonVar.SqlConDataBase);
SqlDataReader reader=cmd.ExecuteReader();
while(reader.Read())
{
byte[] b = (byte[])reader[0];
MemoryStream s = new MemoryStream(b);
Bitmap bmp = new Bitmap(s);
System.Drawing.Image image = bmp;
picPhoto.Image = image;
s.Close();
}
reader.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}

建議將上傳圖片以文件形式保存,然後在數據庫中存入路徑。數據庫讀寫圖片耗時太長,很不劃算。

方法:C#在WinForm中如何將Image存入SQL2000和取出顯示