procedure TForm1.BitBtn2Click(Sender: TObject);
var ms:tmemorystream;
jpg:tjpegimage;
begin
mage1.Picture.LoadFromFile(openpicturedialog1.filename);
ms:=tmemorystream.Create;
jpg:=tjpegimage.Create;
jpg.assign(image1.Picture.graphic);
jpg.SaveToStream(ms);
ms.Position:=0;adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.Add('insert into cp(订单号码,公司款号,裁片名称,裁片规格,单价,单位,生产单位,略图) values(:a,:b,:c,:d,:e,:f,:g,:H)');
adoquery1.Parameters.ParamByName('a').Value:=trim(combobox1.text);
adoquery1.Parameters.ParamByName('b').Value:=trim(combobox2.text);
adoquery1.Parameters.ParamByName('c').Value:=trim(combobox3.text);
adoquery1.Parameters.ParamByName('d').Value:=trim(edit1.text);
adoquery1.Parameters.ParamByName('e').Value:=strtofloat(edit2.text);
adoquery1.Parameters.ParamByName('f').Value:=trim(combobox4.text);
adoquery1.Parameters.ParamByName('h').LoadFromStream(ms,ftblob);
ADOQUERY1.Parameters.ParamByName('g').Value:=trim(combobox5.text);
adoquery1.ExecSQL;
end;
end;
上面这段代码是我把图片加入数据库的.
问题是:
      有时需要把加入的图片清清除掉.不知如何做了.下面这段我知道一定不对,所以请指叫了.
     adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.Add('update cp set 略图=:D where 订单号码=:A AND 公司款号=:B AND 裁片名称=:C');
adoquery1.Parameters.ParamByName('A').Value:=trim(COMBOBOX1.TEXT);
adoquery1.Parameters.ParamByName('B').Value:=trim(COMBOBOX2.TEXT);
adoquery1.Parameters.ParamByName('C').Value:=trim(COMBOBOX3.TEXT);
adoquery1.Parameters.ParamByName('D').Value:='';
ADOQUERY1.ExecSQL;

解决方案 »

  1.   

    adoquery1.Parameters.ParamByName('D').Value:=nil;
      

  2.   

    楼上的大哥,不行呀.
    另外还想请问一下,如何判断image的显示框为空(也就是没有可显示的图片).
      

  3.   

    ms := nil;
    adoquery1.Parameters.ParamByName('h').LoadFromStream(ms,ftbl
      

  4.   

    if image.picture=null then
       ............
      

  5.   

    下面这段是我想要的,清除ACCESS数据库字段中的图片,可是不行请叫了.
    procedure TForm1.BitBtn9Click(Sender: TObject);
    var ms:tmemorystream;
    begin
    MS:=NIL;adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.Add('update cp set 略图=:D where 订单号码=:A AND 公司款号=:B AND 裁片名称=:C');
    adoquery1.Parameters.ParamByName('A').Value:=trim(COMBOBOX1.TEXT);
    adoquery1.Parameters.ParamByName('B').Value:=trim(COMBOBOX2.TEXT);
    adoquery1.Parameters.ParamByName('C').Value:=trim(COMBOBOX3.TEXT);
    adoquery1.Parameters.ParamByName('D').LoadFromStream(ms,ftblob);
    ADOQUERY1.ExecSQL;
    end;
      

  6.   

    if image.picture=null then
    这句怎么也会报错呢!