例1
| 代码如下 | 复制代码 |
|
private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = System.Drawing.Image.FromFile(pathName); this.pictureBox1.Image = img; //将图像读入到字节数组 System.IO.FileStream fs = new System.IO.FileStream(pathName,System.IO.FileMode.Open,System.IO.FileAccess.Read); byte[] buffByte = new byte[fs.Length]; fs.Read(buffByte,0,(int)fs.Length); fs.Close(); fs = null; //建立Command命令 string comm = @"Insert into table1(img,name) values(@img,@name)"; this.sqlCommand1 = new System.Data.SqlClient.SqlCommand (); this.sqlCommand1.CommandType = System.Data.CommandType.Text ; this.sqlCommand1.CommandText = comm; this.sqlCommand1.Connection = this.sqlConnection1 ; //创建Parameter this.sqlCommand1.Parameters.Add("@img",System.Data.SqlDbType.Image); this.sqlCommand1.Parameters[0].Value =buffByte; this.sqlCommand1.Parameters.Add("@name",System.Data.SqlDbType.VarChar); this.sqlCommand1.Parameters[1].Value =pathName.Substring(pathName.LastIndexOf("")+1); try { this.sqlConnection1.Open(); this.sqlCommand1.ExecuteNonQuery(); this.sqlConnection1.Close(); } catch(System.Exception ee) { MessageBox.Show(ee.Message ); } buffByte = null; this.FillListBox(); } |
|
读取:
从数据库读图片到picturebox
| 代码如下 | 复制代码 |
|
conn.Open(); SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn); SqlDataReader reader=cmd.ExecuteReader(); reader.Read(); MemoryStream buf=new MemoryStream((byte[])reader[0]); Image image=Image.FromStream(buf,true); pictureBox1.Image=image; |
|
例2
图片保存到数据库的方法:
| 代码如下 | 复制代码 |
|
public void imgToDB(string sql) |
|
数据库中读出图片并显示在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; } } |
|
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏