在sql2005数据库服务器Star中有数据库NorthWind
表Categories中有一列Picture,类型为image
求代码 将此该表中所有行Picture列读出,并写入到本地磁盘C:\123文件夹
保存文件为jpg后缀的图片

解决方案 »

  1.   

    先把数据读出到datatable中,然后把图片类型转换成二进制流,显示出图片 
    MemoryStream ms = new MemoryStream((byte[])dt.Rows[rowlndex][7]);
                            image1 = Image.FromStream(ms, true);
                            pictureBox1.Image = image1;
                            //建副本,用于保存图片
                               obitmap = new Bitmap(image1);
                             ms.Close();然后再把图片保存到指定位置SaveFileDialog sd = new SaveFileDialog();
                    sd.Filter = "Jpg文件(*.jpg)|*.jpg";
                    if (sd.ShowDialog(this) == DialogResult.OK)
                    {
                        obitmap.Save(sd.FileName);
                        MessageBox.Show("图片保存成功!");
                    }
      

  2.   

    cmd.CommandText = select Picture from Categories ;
     SqlDataReader myreader = cmd.ExecuteReader();
    if (myreader.Read())
    {
      imagebyte = (byte[])myreader[0];
      FileStream fs = new FileStream("c:\\123\\"+name+ "." +"jpg",FileMode.OpenOrCreate,    FileAccess.Write)
      fs.Write(btyes, 0, btyes.Length);
      fs.Flush();
      fs.Close();
    }
      

  3.   

    byte[]byts=(byte[])dataset.table[0][0];
    stream str=new stream(byte);
    bitmap bmp=new bitmap(str);
    picturebox1.image=bmp;
    ....
    大概这样子了.
      

  4.   


     01.public static Image GetImageByBytes(byte[] bytes)   
    02.       {   
    03.           Image photo = null;   
    04.           using (MemoryStream ms = new MemoryStream(bytes))   
    05.           {   
    06.               ms.Write(bytes, 0, bytes.Length);   
    07.               photo = Image.FromStream(ms, true);   
    08.           }   
    09.  
    10.           return photo;   
    11.       }