我想做一个C#+ACCESS数据库的二进制图片保存功能,你们谁做过,发个代码来好吗?

解决方案 »

  1.   

     private void button4_Click(object sender, EventArgs e)  //存图片
            {
                MemoryStream stream = new MemoryStream();
                byte[] photo = null;
                Image img =  this.pictureBox1.Image;
                img.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
                photo = stream.ToArray();
                stream.Close();
                string sql = "Insert into staff (ID,Photo) Values ('001',@img)";
                OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\d.mdb");
                conn.Open();
                OleDbCommand comm = new OleDbCommand(sql, conn);
                comm.Parameters.Add("@img", OleDbType.VarBinary, photo.Length).Value = photo;
                comm.ExecuteNonQuery();            conn.Close();
            }        private void button5_Click(object sender, EventArgs e)  //取图片
            {
                string sql = "Select photo From staff Where ID='001'";
                OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\d.mdb");
                conn.Open();
                OleDbCommand comm = new OleDbCommand(sql, conn);
                OleDbDataReader sdr = comm.ExecuteReader();
                sdr.Read();
                MemoryStream ms = new MemoryStream((byte[])sdr[0]);
                Image image = Image.FromStream(ms);
                sdr.Close();
                conn.Close();
                pictureBox1.Image = image;
            }
      

  2.   

    我试了 不成功 可以做成程序压缩发邮件给我吗  [email protected]
      

  3.   

    数据库中存放图片的数据类型设为“OLE 对象”,SQL语句用添加参数形式