procedure TForm1.Button1Click(Sender: TObject);
这是一条产品入库语句
 var cpbh,cpmc,dw,cpph,rkph:string;
  //var   sl:integer;
   //var  rq:Tdate;
 begin
     rkph:=inttostr(rph);
     cpbh:=edit1.Text;
     cpmc:=edit2.Text;
  rq:=strtodate(edit3.Text);
     dw:=edit4.Text;
     cpph:=edit5.Text;
    sl:=strtoint(edit6.Text);
     ADOquery1.Close;
     adoquery1.SQL.Clear;
     Adoquery1.SQL.Add('insert into  rkb(产品编号,产品名称,入库日期,单位,批号,数量,入库票号) valus(:cpbh,:cpmc,:rq,:dw,:cpph,:sl,:rkph)');
   //Adoquery1.SQL.Add('valus(:cpbh,:cpmc,:rq,:dw,:cpph,:sl,:rkph)');
     Adoquery1.ExecSQL;   出错提示:不正常地定义参数对象,提供了不一至或不完整的信息.

解决方案 »

  1.   

    valus(:cpbh,:cpmc,:rq,:dw,:cpph,:sl,:rkph)这7个参数需要赋值
      

  2.   

    或者:
        Adoquery1.SQL.Add('insert into  rkb(产品编号,产品名称,入库日期,单位,批号,数量,入库票号) valus('
    +quotedstr(cpbh)
    +','+quotedstr(cpmc)
    +','+quotedstr(rq)
    +','+quotedstr(dw)
    +','+quotedstr(cpph)
    +','+sl
    +','+quotedstr(rkph)
    +')'); 
      

  3.   

    adoquery1.Parameters.ParamByName('').Value:=
      

  4.   

    2楼老师,下面说错了,  在表中 rq 是日期型
    [Error] Unit1.pas(132): Incompatible types: 'String' and 'TDate'
      

  5.   

    +','+quotedstr(rq) 
    改为
    +','+quotedstr(formatdatetime('yyyy-mm-dd',rq)) 
      

  6.   

    2楼老师, 我的sl是 integer 型,系统说出错在这里,不好意思了,老烦您.
    [Error] Unit1.pas(135): Incompatible types: 'String' and 'Integer'
      

  7.   

    +','+quotedstr(sl) 
    改为 
    +','+inttostr(sl)