1:
 下面这段是我想要的,清除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;
2:两个数据库这间复制数据
procedure TForm1.BitBtn1Click(Sender: TObject);
var st:string;
begin
st:=('insert into cp1(订单号码,公司款号,裁片名称) in ''E:\zbGL.mdb'' select 订单号码,公司款号,裁片名称 CP where 公司款号=:a');
ADOQUERY1.Close;
ADOQUERY1.SQL.CLEAR;
ADOQUERY1.SQL.Add(st);
ADOQUERY1.Parameters.ParamByName('a').value:='15461';
adoquery1.execsql;报错,'adoquery1.parameter 'a' not found';
3 判断image是否为空
  if image.picture=null then
  ...............
还是不对呀.

解决方案 »

  1.   

    1.  'update cp set 略图=NULL where 订单号码=:A AND 公司款号=:B AND 裁片名称=:C'
    直接设置为NULL别用参数2: "E:和参数格式[:ParamName]冲突了" 
    不用参数,直接写SQL方便一些
    ADOQUERY1.Close;
    ADOQUERY1.SQL.Text = 'insert into cp1(订单号码,公司款号,裁片名称) in ''E:\zbGL.mdb'' select 订单号码,公司款号,裁片名称 CP where 公司款号=' + QuotedStr('15461');
    ADOQuery1.execsql;3. if not Assigned(Image.Picture.Graphic) then
      

  2.   

    1和2都好了,在这里先谢谢zswang(伴水清清)(专家门诊清洁工)了但第2个,报错"语法错误(操作符丢失),在查询表达式'裁片名称 cp where 公司款号'15461''中 "ADOQUERY1.Close;
    ADOQUERY1.SQL.CLEAR;
    ADOQUERY1.SQL.Text:='insert into cp1(订单号码,公司款号,裁片名称) in ''E:\zbGL.mdb'' select 订单号码,公司款号,裁片名称 CP where 公司款号='+''''+edit1.text+'''';
    adoquery1.execsql;
      

  3.   

    你先确认这个SQL是可以执行的
    先到Access的查询分析里调试通过再说