别人给我了一个access的数据库让帮忙读取里面的数据,不知道如何取出库中字段为OLE 对象中存储的长二进制数据并且显示出来?里面存储的可能是文本数据,也可能是图片数据

解决方案 »

  1.   

    关注下,,
    用stringbuilder呢
      

  2.   

    stringbuilder显示没问题但是取出的数据我用这个显示System.Byte[]
    怎么显示原本的东西
      

  3.   

    我也想知道,我也遇到同样的问题了!
    我试过,如果字段是文本型就可以存取,但由于有很多图片较大,以文本方法无法存取,所以采用OLE 对象中存储的长二进制数据,就不知道怎么显示出来了? 
      

  4.   

    就是把数据库的东西,读取到byte[4096]中,再一点点的写到硬盘,然后把文件改成.txt或者图片格式
      

  5.   

    先判断是文本还是图片,区别对待。比如,读图片。  
      byte[] buffByte = null;
     //查询数据库中二进制字段。下面以DataReader为例:
       System.Data.SqlClient.SqlDataReader rd = this.sqlCommand1.ExecuteReader();
       while (rd.Read())
       {
         buffByte = ((byte[])rd[0]);
       }
       rd.Close();   //将图像的字节数组放入内存流
       System.IO.MemoryStream ms = new System.IO.MemoryStream(buffByte);
       //通过流对象建立Bitmap
       System.Drawing.Bitmap bmp = new Bitmap(ms);
       this.pictureBox1.Image = bmp;
    }如果是文本,也类似的处理。