using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Data.SqlClient; namespace WindowsFormsApplication10 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "@.Jpg|*.jpg|@.Gif|*.gif|@.Png|*.png|All files|*.*"; DialogResult dr = openFileDialog1.ShowDialog(); if (dr == DialogResult.OK) { //将图片读入到文件流 FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);//路径 Image img = System.Drawing.Bitmap.FromStream(fs);//绘制,流转成图片 pictureBox1.Image = img;//指定,显示图片 fs.Close(); } } private void button2_Click(object sender, EventArgs e)//存入数据库 { openFileDialog1.Filter = "@.Jpg|*.jpg|@.Gif|*.gif|@.Png|*.png|All files|*.*"; DialogResult dr = openFileDialog1.ShowDialog(); if (dr == DialogResult.OK) { //文件流 FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read); BinaryReader br = new BinaryReader(fs);//二进制读取器 byte[] buffer = br.ReadBytes(int.Parse(fs.Length.ToString())); //连接数据库 SqlConnection conn = new SqlConnection("server=.;database=snewData;user=sa;pwd="); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "insert into imgtable values(@buffer)"; cmd.Parameters.Add("@buffer",buffer); conn.Open(); cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); } } private void button3_Click(object sender, EventArgs e)//数据库读取 { //读取数据库 byte[] buffer = null; SqlConnection conn = new SqlConnection("server=.;database=snewData;user=sa;pwd="); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select *from imgtable where code=4"; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { buffer = (byte[])dr["imgs"]; } cmd.Dispose(); conn.Close(); //将二进制数据buffer显示为图片 MemoryStream ms = new MemoryStream(buffer);//构建对象 ms.Write(buffer,0,buffer.Length);//写到内存流中 Image img = System.Drawing.Image.FromStream(ms); pictureBox1.Image = img; } } }