Saves picture to database

来源:互联网 发布:质量好的白菜价淘宝店 编辑:程序博客网 时间:2024/05/22 20:29
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.Data.SqlClient;using System.IO;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        SqlCommand sqlCommand1 = null;        SqlConnection sqlConnection1 = new SqlConnection(@"data source=LZC-FUJITSU;uid=sa;pwd=sa;database=Test");        public Form1()        {            InitializeComponent();        }        /// <summary>        /// Saves picture to database.        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnSave_Click(object sender, EventArgs e)        {            string pathName;            if (this.openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)            {                pathName = this.openFileDialog1.FileName;                Image img = Image.FromFile(pathName);                this.pictureBox1.Image = img;                //将图像读入到字节数组                FileStream fs = new FileStream(pathName, FileMode.Open, 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;            }        }        /// <summary>        /// Reads picture from database.        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnOpen_Click(object sender, EventArgs e)        {            SqlConnection conn = new SqlConnection(@"data source=LZC-FUJITSU;uid=sa;pwd=sa;database=Test");            conn.Open();            SqlCommand cmd = new SqlCommand("select img from table1 where password='2'", conn);            SqlDataReader reader = cmd.ExecuteReader();            if (reader.Read())            {                MemoryStream buf = new MemoryStream((byte[])reader[0]);                Image image = Image.FromStream(buf, true);                pictureBox1.Image = image;            }            conn.Close();        }    }}


 

原创粉丝点击