窗体的TForm_Car的dbgrid控件Car_DBG显示数据表数据,Car_DBG双击事件中弹出窗体CarDetail_Form显示单条记录的详细内容,数据表中的“照片”字段通过流文件最后加载到CarDetail_Form.Image1,但是“照片”字段为空时程序总是报错,我做的报错处理总是失败,请大家帮忙,多谢!
procedure TForm_Car.Car_DBGDblClick(Sender: TObject);
var
JpgFile:TjpegImage;
mStream:TMemoryStream;
i:integer;
begin
mStream:=TMemoryStream.Create;
JpgFile:=TjpegImage.Create;
TBlobField(Car_DataS.DataSet.FieldByName('照片')).SaveToStream(mStream);
mStream.Position :=0;
JpgFile.LoadFromStream(mStream);
CarDetail_Form.Image1.Picture.Assign(JpgFile);
mStream.Free;
JpgFile.Free;
if CarDetail_Form=nil then
CarDetail_Form:=TCarDetail_Form.Create(self);
for i:=1 to 14 do
TEdit(CarDetail_Form.FindComponent('Edit'+inttostr(i))).Text:=self.Car_DBG.Columns[i].DisplayText;
CarDetail_Form.ShowModal;
end;
procedure TForm_Car.Car_DBGDblClick(Sender: TObject);
var
JpgFile:TjpegImage;
mStream:TMemoryStream;
i:integer;
begin
mStream:=TMemoryStream.Create;
JpgFile:=TjpegImage.Create;
TBlobField(Car_DataS.DataSet.FieldByName('照片')).SaveToStream(mStream);
mStream.Position :=0;
JpgFile.LoadFromStream(mStream);
CarDetail_Form.Image1.Picture.Assign(JpgFile);
mStream.Free;
JpgFile.Free;
if CarDetail_Form=nil then
CarDetail_Form:=TCarDetail_Form.Create(self);
for i:=1 to 14 do
TEdit(CarDetail_Form.FindComponent('Edit'+inttostr(i))).Text:=self.Car_DBG.Columns[i].DisplayText;
CarDetail_Form.ShowModal;
end;
procedure TForm_Car.Car_DBGDblClick(Sender: TObject);
var
JpgFile:TjpegImage;
mStream:TMemoryStream;
i:integer;
begin
if CarDetail_Form=nil then
CarDetail_Form:=TCarDetail_Form.Create(self);if not Car_DataS.DataSet.FieldByName('照片').IsNull then begin{如果照片字段不为空时}
mStream:=TMemoryStream.Create;
JpgFile:=TjpegImage.Create;
TBlobField(Car_DataS.DataSet.FieldByName('照片')).SaveToStream(mStream);
mStream.Position :=0;
JpgFile.LoadFromStream(mStream);
CarDetail_Form.Image1.Picture.Assign(JpgFile);
mStream.Free;
JpgFile.Free;
end;
CarDetail_Form.ShowModal;
for i:=1 to 14 do
TEdit(CarDetail_Form.FindComponent('Edit'+inttostr(i))).Text:=self.Car_DBG.Columns[i].DisplayText;
end;
procedure TForm_Car.Car_DBGDblClick(Sender: TObject);
var
JpgFile:TjpegImage;
mStream:TMemoryStream;
i:integer;
begin
if CarDetail_Form=nil then
CarDetail_Form:=TCarDetail_Form.Create(self);if not Car_DataS.DataSet.FieldByName('照片').IsNull then begin{如果照片字段不为空时}
mStream:=TMemoryStream.Create;
JpgFile:=TjpegImage.Create;
TBlobField(Car_DataS.DataSet.FieldByName('照片')).SaveToStream(mStream);
mStream.Position :=0;
JpgFile.LoadFromStream(mStream);
CarDetail_Form.Image1.Picture.Assign(JpgFile);
mStream.Free;
JpgFile.Free;
end; for i:=1 to 14 do
TEdit(CarDetail_Form.FindComponent('Edit'+inttostr(i))).Text:=self.Car_DBG.Columns[i].DisplayText;CarDetail_Form.ShowModal;
end;