为什么在同一个procedure 中用了一个adoquery后 在创建一个(与前一个名不同)时会出错,是不是不可以动态创建两个?
代码如下:adoquery1:=Tadoquery.Create(Self);
  adoquery1.Connection:=adoconnection1;
   adoquery1.Close;
   adoquery1.SQL.Clear;
    adoquery1.SQL.add('select * from 查询表 where(航班号=:hbh )');
    adoquery1.Open;
   // adoquery1.ExecSQL;
   if adoquery1.RecordCount>0 then
   begin
   jpf:=adoquery1.fieldbyname('机票价格').asstring   adoquery2:=Tadoquery.Create(Self);
   adoquery2.Connection:=adoconnection1;
   adoquery2.Close;
   adoquery2.SQL.Clear;
    adoquery2.SQL.Add('insert into 预定表(身份证号,联系方式,航班号,舱位等级,机票价格)values(:sfzh,:lxfs,:hbh,:cwd,:jpf)');
    adoquery2.Open;
    //adoquery1.ExecSQL;
    //需要增加代码;
     showmessage('您已经成功的预定!');   end
说明:adoquery1,adoquery2都已申明

解决方案 »

  1.   

    ->>>adoquery2.Open;
    改为
    adoquery2.ExecSQL;
      

  2.   

    出错在adoquery2.Open吧!
    你应该先将(:sfzh,:lxfs,:hbh,:cwd,:jpf)这几个变参赋值,然后adoquery2.ExecSQL就行了.
      

  3.   

    已经赋过过了值了 
     hbh:=trim(edit2.Text);
      sfzh:=trim(edit1.Text);
      cwdj:=trim(combobox3.Text);
      lxfs:=trim(edit5.Text);
     jpf:=adoquery1.fieldbyname('机票价格').asstring //这个可以得到adoquery查询到的值吗?
      

  4.   

    jpf:=adoquery1.fieldbyname('机票价格').asstring  该句提示缺少参数
      

  5.   

    jpf:=adoquery1.fieldbyname('机票价格').asstring;
      

  6.   

    发现自己真的好笨,谢谢helodd!