ADOQuery1.SQL.Add(' insert into  jl(姓名,柜员号,身份证号,笔数时间,网点名称,网点编号,存款取款,补登换折修改信息,挂失,解挂,新开户,'
  +'代发工资,补发存单折,本社代理业务,贷款发放贷款收回,利息收回贷款维护,转帐,现金汇款,电汇,打印满页帐,反洗钱反假币,国库集中,对帐,其它,合计)'
  +' values(:姓名,:柜员号,:身份证号,:笔数时间,:网点名称,:网点编号,:存款取款,:补登换折修改信息,:挂失,:解挂,:新开户,:代发工资,:补发存单折,'
  +':本社代理业务,:贷款发放贷款收回,:利息收回贷款维护,:转帐,:现金汇款,:电汇,'
  +':打印满页帐,:反洗钱反假币,:国库集中,:对帐,:其它,:合计');
运行时,说查询语句错误,大家帮我看看是哪里误了?
20分啊,快来领啊

解决方案 »

  1.   

    sql.text:='insert into tb(aaa,bbb,ccc) values(:aa,:bb,:cc)';
      

  2.   

    你那个括号是Add()的括号
    应该像这样ADOQuery1.SQL.Add(' insert into jl(姓名,柜员号,身份证号,笔数时间,网点名称,网点编号,存款取款,补登换折修改信息,挂失,解挂,新开户,'
       +'代发工资,补发存单折,本社代理业务,贷款发放贷款收回,利息收回贷款维护,转帐,现金汇款,电汇,打印满页帐,反洗钱反假币,国库集中,对帐,其它,合计)'
       +' values(:姓名,:柜员号,:身份证号,:笔数时间,:网点名称,:网点编号,:存款取款,:补登换折修改信息,:挂失,:解挂,:新开户,:代发工资,:补发存单折,'
       +':本社代理业务,:贷款发放贷款收回,:利息收回贷款维护,:转帐,:现金汇款,:电汇,'
       +':打印满页帐,:反洗钱反假币,:国库集中,:对帐,:其它,:合计)');强调一下最末尾合计)');
      

  3.   


    谢谢了,搞定了,我还有个问题没解决,我想通过窗口上按一个按钮,如计算,让程序自动计算合计的值,这些值都是EDIT里用输入的值进行计算的,但有些输入框里的值要除以3或5什么的,语句如何写啊,或者不用按按钮,输入完值后自动计算出合计的值
      

  4.   

    另求解,我想通过窗口上按一个按钮,如计算,让程序自动计算合计的值,这些值都是EDIT里用输入的值,让这些值计算后自动填到其中一个输入框内,部分输入框的值要进行除以3就可以,语句如何写啊,或者不用按按钮,输入完值后自动计算出合计的值并显示到某一输入框内
      

  5.   

    利用JavaScript来直接计算:uses ComObj;function eval(s: string): string;
    var
      js:OleVariant;
    begin
      try
        try
          js:=CreateOleObject('ScriptControl');
          js.Language:='JavaScript';
          Result:=js.Eval(s);
        except
          Abort;
        end;
      finally
        js:=Unassigned;
      end;
    end;showmessage(eval('1+2-3*4/5'));
      

  6.   


    uses ComObj;{ TForm1 }procedure TForm1.Button1Click(Sender: TObject);
    var
      s:string;
    begin
      Edit1.Text:='1';
      Edit2.Text:='2';
      Edit3.Text:='3';  s:=edit1.Text+'*4';        // 1*4
      s:=s+'+'+edit2.Text+'/2';  // 2/2
      s:=s+'-'+edit3.Text+'+99'; // 3+99  ShowMessage(s);            //=1*4+2/2-3+99  ShowMessage(eval(s));      //=101
    end;function TForm1.eval(s: string): string;
    var
      js:OleVariant;
    begin
      try
        try
          js:=CreateOleObject('ScriptControl');
          js.Language:='JavaScript';
          Result:=js.Eval(s);
        except
          Abort;
        end;
      finally
        js:=Unassigned;
      end;
    end;
      

  7.   

    function TForm1.eval(s: string): string;
    var
      js:OleVariant;
    begin
      try
        try
          js:=CreateOleObject('ScriptControl');
          js.Language:='JavaScript';
          Result:=js.Eval(s);
        except
          Abort;
        end;
      finally
        js:=Unassigned;
      end;
    end;
    这段代码放在哪儿呢?{$R *.dfm}这个下面吗?
      

  8.   

    而且我这里的EDIT1,EDIT2,EDIT3是输入的数据,不是固定的数据
      

  9.   

    你先存到一个  string 里面  然后下断点看看这个string有没有问题然后在  add(string);
      

  10.   

    好像在delphi中嵌入sql语句 超过255个字符 执行sql时就会有问题
      

  11.   

    ADOQuery1.SQL.Add(' insert into jl(姓名,柜员号,身份证号,笔数时间,网点名称,网点编号,存款取款,补登换折修改信息,挂失,解挂,新开户,'
      +'代发工资,补发存单折,本社代理业务,贷款发放贷款收回,利息收回贷款维护,转帐,现金汇款,电汇,打印满页帐,反洗钱反假币,国库集中,对帐,其它,合计)'
      +' values(:姓名,:柜员号,:身份证号,:笔数时间,:网点名称,:网点编号,:存款取款,:补登换折修改信息,:挂失,:解挂,:新开户,:代发工资,:补发存单折,'
      +':本社代理业务,:贷款发放贷款收回,:利息收回贷款维护,:转帐,:现金汇款,:电汇,'
      +':打印满页帐,:反洗钱反假币,:国库集中,:对帐,:其它,:合计)');,:其它,:合计)');
      

  12.   

    ADOQuery1.SQL.Add(' insert into jl(姓名,柜员号,身份证号,笔数时间,网点名称,网点编号,存款取款,补登换折修改信息,挂失,解挂,新开户,'
      +'代发工资,补发存单折,本社代理业务,贷款发放贷款收回,利息收回贷款维护,转帐,现金汇款,电汇,打印满页帐,反洗钱反假币,国库集中,对帐,其它,合计)'
      +' values(:姓名,:柜员号,:身份证号,:笔数时间,:网点名称,:网点编号,:存款取款,:补登换折修改信息,:挂失,:解挂,:新开户,:代发工资,:补发存单折,'
      +':本社代理业务,:贷款发放贷款收回,:利息收回贷款维护,:转帐,:现金汇款,:电汇,'
      +':打印满页帐,:反洗钱反假币,:国库集中,:对帐,:其它,:合计)');
      

  13.   

    少了个括号,
    SQl太长可以用 sql.add(), 分几次写,
    不知道你的那些字段有没空值,我昨天也有这个问题,现在发帖请大佬帮忙
      

  14.   

    open 之前  先showmessage(ADOQuery1.SQL.text)