本帖最后由 lvyifan2004 于 2011-01-22 16:53:14 编辑

解决方案 »

  1.   


         //输出图片
            private void button1_Click(object sender, EventArgs e)
            {
                string path = @"E:\123.jpg";
                //实例化一个文件流对象 将指定图片 存放进去
                FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
                //通过二进制读取对象 接收该 文件流对象
                BinaryReader br = new BinaryReader(fs);
                //br读取 指定文件流对象中所有字节数 用字节数组
                byte[] myImages = br.ReadBytes(Convert.ToInt32(fs.Length));
                Stream s = new MemoryStream(myImages);
                this.pictureBox1.Image = Image.FromStream(s);            
            }
            //读取图片
            private void button2_Click(object sender, EventArgs e)
            {
                string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\顾兰萍.mdb";
                using (OleDbConnection con = new OleDbConnection(strCon))
                {
                    con.Open();
                    OleDbCommand com = new OleDbCommand("select tf_image from T_image",con);
                    byte[] FileData = (byte[])com.ExecuteScalar();
                    MemoryStream ms = new MemoryStream(FileData);
                    Image img = Image.FromStream(ms);
                    img.Save(@"E:\123.jpg");
                }
            }我有做这样的尝试,但读取的时候说ms是无效参数...实在不知道怎么办了.
      

  2.   

    经过测试结果正确:string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data.mdb";
                OleDbConnection conn = new OleDbConnection(str);
                OleDbCommand comm = new OleDbCommand("select top 1 img from test where img is not null", conn);           
                conn.Open();
                object o = comm.ExecuteScalar();
                if (o != null)
                {
                    byte[] buff = (byte[])o;
                    MemoryStream ms = new MemoryStream(buff);
                    pictureBox1.Image = Image.FromStream(ms);
                }
                conn.Close();