private static byte[] FileToBytes(string filePath)
        {
            FileInfo fi = new FileInfo(filePath);
            byte[] buffer = new byte[fi.Length];
            FileStream fs = fi.OpenRead();
            fs.Read(buffer, 0, Convert.ToInt32(fi.Length));
            fs.Close();
            return buffer;
        }

        private static void CreateFile(byte[] fileBuffer, string newFilePath)
        //用文件流生成一个文件
        {
            if (File.Exists(newFilePath))
            {
                File.Delete(newFilePath);
            }
            FileStream fs = new FileStream(newFilePath, FileMode.CreateNew);
            BinaryWriter bw = new BinaryWriter(fs);
            bw.Write(fileBuffer, 0, fileBuffer.Length); //用文件流生成一个文件
            bw.Close();
            fs.Close();
        }

        private static MySqlConnection CreateConnection()
        {
            string host = "localhost";
            string id = "root";
            string pwd = "1234567";
            string database = "txl";
            string connectionStr = string.Format("Server={0};port={1};Database={2};UserID={3};Password={4};", host, "3306", database, id, pwd);
            MySqlConnection Connection = new MySqlConnection(connectionStr); //建立MySQL连接
            return Connection;
        }


        private static void SendFileBytesToDatabase(string aNO, byte[] fileArr)
        {
            MySqlConnection con = CreateConnection();
            string sendFileSql = "update t_member set photo=@photo where no=@NO;";
            MySqlCommand Cmd = new MySqlCommand(sendFileSql, con);
            Cmd.Parameters.Add("@NO", MySqlDbType.VarChar).Value = aNO;
            Cmd.Parameters.Add("@photo", MySqlDbType.MediumBlob).Value = fileArr;

            con.Open();

            try
            {
                Cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                MessageBox.Show("向数据库存储数据失败:" + e.Message);
            }
            finally
            {
                con.Close();
            }
        }


        private void showPhoto(int aNO)
        {
            MySqlConnection con = CreateConnection();
            string Sql = "select photo from t_member where no=" + aNO;
            MySqlCommand Cmd = new MySqlCommand(Sql, con);
            con.Open();
            MySqlDataAdapter adt = new MySqlDataAdapter(Cmd);
            DataSet dst = new DataSet();
            adt.Fill(dst);
            if (dst.Tables[0].Rows.Count == 1)
            {
                if(dst.Tables[0].Rows[0]["Photo"]==DBNull.Value)
                {
                    pictureBox1.Image = null;
                }else
                {
                    byte []buf= (byte[])(dst.Tables[0].Rows[0]["Photo"]);
                    pictureBox1.Image = Image.FromStream(new MemoryStream(buf));
                }
            }
            con.Close();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.Load(openFileDialog1.FileName);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string imgPath = @"c:\grill.jpg";
            byte[] imgBuffer = FileToBytes(imgPath);
            SendFileBytesToDatabase("5", imgBuffer);

        }

        private void button3_Click(object sender, EventArgs e)
        {
            string imgPath = @"D:\Grill7.jpg";
            // GetFileFromDatabase("7", imgPath);
            showPhoto(1);
        }
04-16 08:58