第一个问题,将你的实现放到fromshow过程中看看。
第二个问题,要看看你存储图片的语句和读取图片并显示的语句才好说

解决方案 »

  1.   

    对不起,我忘了说了,第一个问题我在formshow中也试过了,不行
    第二个问题,我要说的是,这段代码以前能实现但是现在却不能实现了
      

  2.   

    1:
    AdoConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=' + ExtractFilePath(Application.ExeName) + 'xxxx.mdb';Persist Security Info=False';
    AdoConnection.Connected := True;
    2:保存和读取的代码贴出来看一看。
      

  3.   

    我想要是连接dsn文件而不是直接连接mdb那段代码我现在贴补出来,等一下在贴
      

  4.   

    直接用ConnectionString属性不是很好吗?
      

  5.   

    可是我想动态去连接它呀,要不然每次数据库文件的位置变了,还要去改odbc嘛,这样就不用了哟
      

  6.   

    ConnectionString也可以动态改变呀。AdoConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=' + ExtractFilePath(Application.ExeName) + 'xxxx.mdb';Persist Security Info=False';//就是改变 DataSource后面的。
      

  7.   

    我试一试吧,不过要耐心等分哟,我现在不能经常上网,估计要到明天或者后天才能给分哟,不好意思  :)第二个问题也要等到明天或者后天才能贴上去,希望taxi能鼎立相助
      

  8.   

    我试一试吧,不过要耐心等分哟,我现在不能经常上网,估计要到明天或者后天才能给分哟,不好意思  :)第二个问题也要等到明天或者后天才能贴上去,希望taxi能鼎立相助
      

  9.   

    我试一试吧,不过要耐心等分哟,我现在不能经常上网,估计要到明天或者后天才能给分哟,不好意思  :)第二个问题也要等到明天或者后天才能贴上去,希望taxi能鼎立相助
      

  10.   

    //存图片
    procedure SavePicture(const FileName: string);
    begin
      with AdoTable do
      begin
        Append;
        ....
        ....
        TBlobField(FieldByName('Picture')).LoadFromFile(FileName);
        Post;
      end;
    end;procedure SavePicture(const FileName: string);
    begin
      with AdoQuery do
      begin
        Sql.Clear;
        Close;
        Sql.Add('insert into tablename (Picture) values(:Picture)');
        Parameters[0].LoadFromFile(FileName);
        ExecSQL;
      end;
    end;//读取并显示
    uses Jpeg;
    procedure XXXXXX;
    var
      JpegImage: TJpegImage;
      MS: TMemoryStream;
    begin
      MS := TMemoryStream.Create;
      try
        TBlobField(AdoTable1.FieldByName('Picture')).SaveToStream(MS);
        MS.Position := 0;
        if 位图 then
          Image1.Picture.Bitmap.LoadFromStream(MS)
        else if 图标 then
          Image1.Picture.Icon.LoadFromStream(MS)
        else if JPEG图像 then
        begin
          JpegImage := TJpegImage.Create;
          try
            JpegImage.LoadFromStream(MS);
            Image1.Picture.Graphic := JpegImage;
          finally
            JpegImage.Free;
          end;
        end;
      finally
        MS.Free;
      end;
    end;
      

  11.   

    不行呀,你那段代码我用上了,但是还是出现那个错误,至于第二个问题的代码如下:
    …………TBlobField(FieldByname('BCImage')).SaveToFile(FormMain.FAppDir + 'Image\temp.bmp');
          Image1.Picture.LoadFromFile(FormMain.FAppDir + 'Image\temp.bmp');………………
    这两句话就是将数据库中的图片存到硬盘中,再有Image读取显示出来,为什么以前用就没有问题,现在就不行了?