AdoQuery动态参数设定的问题,当USerNo,MeetNo为string类型,而Jhtype,Rctype为整形
    如下代码:
    USerNo:=edit1.text;
    MeetNo:=edit2.text;
    Jhtype:=StrToInt(edit3.text);
    Rctype:=StrToInt(edit4.text);
      with sql do
         begin
            Clear;
            Add('Insert into Meet(USeNo,MeetNo,Jhtype,Rctype)');
            Add('values(:USeNo,:MeetNo,:Jhtype,:Rctype)');
            Parameters.ParamByName('Useno').Value:=UserNo;
            Parameters.ParamByName('Jhtype').Value:=Jhtype;
            Parameters.ParamByName('MeetNo').Value:=MeetNo;
            Parameters.ParamByName('Rctype').Value:=Rctype;
            ExecSql;
         end;
为何执行出错,是类型的问题吗?

解决方案 »

  1.   

    Add('values('':USeNo'','':MeetNo'',:Jhtype,:Rctype)');
      

  2.   

    有可能,
                Parameters.ParamByName('Useno').asstring:=UserNo;
                Parameters.ParamByName('Jhtype').asinteger:=Jhtype;
                Parameters.ParamByName('MeetNo').asstring:=MeetNo;
                Parameters.ParamByName('Rctype').asinteger:=Rctype;
      

  3.   

    空格问题
                Add('Insert into Meet(USeNo,MeetNo,Jhtype,Rctype)  ');
                Add('values(:USeNo,:MeetNo,:Jhtype,:Rctype)  ');
      

  4.   

    对 应该是空格的问题
    因为你连接两个SQL。ADD
    但是他们之间没有空格  这样就等于有语法问题 你把上面的语句的后面加上空格
    或者后面的语句的前面加上空格 应该没有问题
    试试
      

  5.   

    试过了还是类型的问题,像yuhouyangguang(雨后阳光)的说法但编译时,总是说asinteger未定义,不合法