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 XuanKeForm
{ public partial class FormImage : Form { public FormImage() { InitializeComponent(); }private void button1_Click(object sender, EventArgs e)
{ openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif"; DialogResult dia = openFileDialog1.ShowDialog(); if (dia == DialogResult.OK) { string filename = openFileDialog1.FileName;FileStream fs = new FileStream(filename,FileMode.Open,FileAccess.Read);//将图片读入流中
byte[] imagebytes = new byte[fs.Length];//二进制数组,用以临时存储图像的二进制编码 BinaryReader br = new BinaryReader(fs);//二进制读取器 imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//将图片读入到二进制数组中//开始连接数据库存入数据库中 SqlConnection conn = new SqlConnection("server=.;database=schoolData;user=sa;pwd="); conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "insert into tutable values(@image)"; cmd.Parameters.Clear(); cmd.Parameters.Add("@image",imagebytes); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("图片上传成功");
}
}//读取
private void button2_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("server=.;database=schoolData;user=sa;pwd="); conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select top 1 *from tutable"; SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); byte[] imgbytes = (byte[])dr["tuxiang"]; //将图像写入内存 MemoryStream ms = new MemoryStream(imgbytes, 0, imgbytes.Length); ms.Write(imgbytes, 0, imgbytes.Length);Image img = Image.FromStream(ms);
this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; this.pictureBox1.Image = img; } }}