搜索
您的当前位置:首页图片保存到数据库

图片保存到数据库

来源:智榕旅游
图片保存到数据库和从数据库读取图片并显示(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\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; } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top