图片保存到数据库和从数据库读取图片并显示(C#)
2021/7/30 19:37:29
本文主要是介绍图片保存到数据库和从数据库读取图片并显示(C#),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
图片保存到数据库的方法:
public void imgToDB(string sql)
{ //参数sql中要求保存的imge变量名称为@images
//调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'");
FileStream fs = File.OpenRead(t_photo.Text);
byte[] imageb = new byte[fs.Length];
fs.Read(imageb, 0, imageb.Length);
fs.Close();
SqlCommand com3 = new SqlCommand (sql,con);
com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb;
if (com3.Connection.State == ConnectionState.Closed)
com3.Connection.Open();
try
{
com3.ExecuteNonQuery();
}
catch
{ }
finally
{ com3.Connection.Close(); }
}
数据库中读出图片并显示在picturebox中:
方法一:
private void ShowImage(string sql)
{
//调用方法如:ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'");
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
byte[] b= (byte[])cmd.ExecuteScalar();
if (b.Length 〉 0)
{
MemoryStream stream = new MemoryStream(b, true);
stream.Write(b, 0, b.Length);
pictureBox1.Image = new Bitmap(stream);
stream.Close();
}
conn.Close();
}
方法二:当在dg中选中某行时:
private void dg_MouseUp(object sender, MouseEventArgs e)
{
//整行选择
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{//用户编号,姓名,性别,身份证号,籍贯,学院,系所,校区,部门,电话,照片
//显示相片
object imgobj=dg[10, dg.CurrentRow.Index].Value;
if (imgobj != null && !Convert.IsDBNull(imgobj))
{
byte[] imgb = (byte[])imgobj;
MemoryStream memStream = new MemoryStream(imgb);
try
{
Bitmap myimge = new Bitmap(memStream);
this.pictureBox1.Image = myimge;
}
catch
{
DB.msgbox("从数据库读取相片失败!");
}
}
else
pictureBox1.Image = null;
}
}
这篇关于图片保存到数据库和从数据库读取图片并显示(C#)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享