在CSharp中,怎样将PictureBox图片(来自文件)保存到后台SQL数据库中,及如果从SQL数据库中读取图片,并显示到PictureBox控件中?
解决方案 »
- 如何将数据表里的自增列对应赋给一个datatable
- 哪位大虾能帮忙解释一下List<>()中()里参数的含义
- C# 我做一个数据库的程序 用什么方法连接数据库比较好
- Validating事件的顺序问题
- 读取连接电脑COM口的电子天枰数据
- webform和winform程序共用数据访问DLL时如果处理数据库连接问题
- net framework 总是出这个错误??晕!没有人知道这个问题吗?
- 创建DataTable 然后将数据加在DataTable 里 ,请问怎么提高其查询速度。
- 请帮我改一个存储过程 存储过程有缺陷. 用来生成表的 insert 脚本的 急!!! 谢谢各位
- C#客户端采用什么方式访问远程SQL数据库比较好
- 请帮忙看看,为什么不触发事件??????????????????、
- 为什么我辛辛苦苦写的第归显示树代码只能显示一级?!!!!
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();
{
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);
}
}
/// <summary>
/// 将图片转换成字节数组
/// </summary>
/// <param name="img"></param>
/// <returns></returns>
public static byte[] ImageToByte(Image img)
{
byte[] byt = null;
ImageConverter imgCvt = new ImageConverter();
object obj = imgCvt.ConvertTo( img,typeof(Byte[]));
byt = (Byte[])obj;
return byt;
}
/// <summary>
/// 将字节数组转换成图片
/// </summary>
/// <param name="bytImage"></param>
/// <returns></returns>
public static Image ByteToImage( byte[] bytImage )
{
Image img = null;
ImageConverter imgCvt = new ImageConverter();
object obj = imgCvt.ConvertFrom(bytImage);
img = (Image)obj;
return img;
}
正確的都讓你們說完了
提示:引用了无效参数。谁知怎么回事啊?