Delphi7 + SQL2000 处理image 有关问题

Delphi7 + SQL2000 处理image 问题.
程式 A (易助4.0 商品信息可加入图片小程式)
程式 B 自己写的delphi7 小程式
程式 C SQL Image Viewer

问题:
程式 A存的图, 用程式B看会出 error#53
程式 B存的图, 用程式A看会登出系統
程式 C 可以看到 程式 A/B存的图.(没有储存功能)

程式 B还可以怎让改?
程式 B源码如下:

unit Main;

interface


uses

  Variants,

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ABSMain, Jpeg,
  ADODB;



type



  TfrmMain = class(TForm)
  DataSource1: TDataSource;
  DBGrid1: TDBGrid;
  DBNavigator1: TDBNavigator;
  btSaveImage: TButton;
  odBlob: TOpenDialog;
  sdBlob: TSaveDialog;
  btLoadImage: TButton;
  GroupBox2: TGroupBox;
  Photo: TImage;
  ADOTable1: TADOTable;



  procedure btLoadImageClick(Sender: TObject);
  procedure btSaveImageClick(Sender: TObject);
  procedure ADOTable1AfterScroll(DataSet: TDataSet);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation
{$R *.dfm}







//------------------------------------

procedure TfrmMain.btLoadImageClick(Sender: TObject);
var
  FileStream: TFileStream;
  BlobStream: TStream;
begin
 if (odBlob.Execute) then
  begin
  ADOTable1.Edit;
  try
  BlobStream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('DEB002'),bmWrite);
  FileStream := TFileStream.Create(odBlob.FileName,fmOpenRead or fmShareDenyNone);
  BlobStream.CopyFrom(FileStream,FileStream.Size);
  FileStream.Free;
  BlobStream.Free;
  ADOTable1.Post;
  ADOTable1AfterScroll(ADOTable1);
  except
  ADOTable1.Cancel;
  end;
  end;
end;

procedure TfrmMain.btSaveImageClick(Sender: TObject);
var
  FileStream: TFileStream;
  BlobStream: TStream;
begin
  if (sdBlob.Execute) then
  begin
  FileStream := TFileStream.Create(sdBlob.FileName,fmCreate);
  BlobStream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('DEB002'),bmRead);
  FileStream.CopyFrom(BlobStream,BlobStream.Size-BlobStream.Position);
  BlobStream.Free;
  FileStream.Free;
  end;
end;

procedure TfrmMain.ADOTable1AfterScroll(DataSet: TDataSet);
var
  JpegImage: TJPEGImage;
  BlobStream: TStream;
 begin
  if (not ADOTable1.FieldByName('DEB002').IsNull) then
  begin
  BlobStream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('DEB002'),bmRead);
  JpegImage := TJPEGImage.Create;
  try
  JpegImage.LoadFromStream(BlobStream);
  Photo.Picture.Assign(JpegImage);
  Photo.Visible := True;
  finally
  JpegImage.Free;
  BlobStream.Free;
  end;
  end
  else
  Photo.Visible := False;
end;
end.




------解决方案--------------------
会不会是图片的不同格式引起的问题。
------解决方案--------------------
代码仅处理了jpg图片,LZ确定程序a存入的是jpg格式么?不是png或者bmp之类的?

------解决方案--------------------
帮你顶顶帖子先