别人用VC做的个管理系统,在数据库中ImgTable表中定义了一imgdata字段用于保存图像。如果对于编号为1的人有3副图像,那么这3副图像全部保存在imgdata中。 我采用ImgEn控件,采用数据流的方式来读取显示他的图像则只能显示第一副图像,其余的都显示不了。 大家有何良策能读取显示其他几副图像?================================利用他软件中图像读入保存功能,我在数据库中查看了每次保存后imgdata字段的变化,内容如下;
第一次保存后内容:0x010000005B8A0100FFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C213232323232323232323232第二次保存后内容:
0x020000005B8A010AF7E0000FFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C2132323232323232第三次保存后内容:
0x030000005B8A01006F44010061D90100FFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C21323232

解决方案 »

  1.   

    如果有VC的代码,容易分析点>>我在数据库中查看了每次保存后imgdata字段的变化
    可能之前已经有数据,只看出第一位 0x01 有点规律
      

  2.   

    这个问题,比较难呢!估计要找到对应存储jpeg格式的读取方法和存储在数据库中的方法!
      

  3.   

    大致的思路是:
    先将各图片的stream保存为一个varByte类型的Variant
    然后将几个Variant保存为一个大的varVariant类型的Variant
    将这个大的Variant转换成stream,保存读的时候相反:
    将读出来的stream保存为一个varVariant类型的Variant
    然后通过判断Variant的上下界判断有几个图片,生成几个varByte类型的Variant
    将小的Variant转换成stream,显示图片
      

  4.   

    sorry,我这个方法似乎不可以,一直都没试成功1、varVariant类型的Variant不能保存为stream
    2、数据库读出的stream必须先知道要几幅图片才能转换成Variant