关于图片的存取问题,我都回答了好多次帖子了再发一次吧//****************添加信息********************************procedure TForm1.Button1Click(Sender: TObject); var jg : TJpegImage; s:TMemorystream;begin if opendialog1.FileName='' then // 判断选择图片没有 begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('insert into 表1 VALUES ('''+edit1.Text+''','''+edit2.Text+''',null)'); ADOQuery1.ExecSQL; // 没有选择图片插入时给image项置为NULL end else begin // 有图片时,就转换图片位流再保存到数据库 s:=TMemorystream.Create; s.LoadFromFile(opendialog1.FileName); ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('insert into 表1 VALUES ('''+edit1.Text+''','''+edit2.Text+''',:tmpcad)'); ADOQuery1.Parameters.ParamByName('tmpcad').LoadFromStream(s,ftBlob); ADOQuery1.Prepared; ADOQuery1.ExecSQL; end;end;//****************读取时********************************procedure TForm1.Button5Click(Sender: TObject);var s:TMemorystream; JpgFile:TjpegImage;begin ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('select * from 表1'); ADOQuery2.Open; if adoquery2.RecordCount >0 then begin edit1.Text:=adoquery2.fieldbyname('haha').AsString; edit2.Text:=adoquery2.fieldbyname('hehe').AsString; // 如果读取到的image字段(heihei)是空 if adoquery2.fieldbyname('heihei').IsNull then begin image1.Picture.LoadFromFile('./0.jpg'); exit; end else begin // 如果不是空就转换成图片显示出来 s:=TMemorystream.Create; TBlobField(ADOQuery2.FieldByName('heihei')).SaveToStream(s); s.Position :=0; JpgFile:=TjpegImage.Create ; jpgfile.LoadFromStream(s); image1.Picture.Assign(JpgFile); end; end;end;