adoquery3:=Tadoquery.Create(self);
  adoquery3.Connection:=adoconnection1;
  adoquery3.close;
  adoquery3.SQL.Clear;
  adoquery3.SQL.Add('select * from 查询表 where(航班号=:hbh)');       
  adoquery3.Open;
  adoquery3.Active:=true;
  datasource2.DataSet:=adoquery3;
  DBgrid1.DataSource:=datasource2;
说明:DBgrid1,datasource2,是直接加在控件在窗体上的
   
想问的是:
   为什么运行时明明表中有所要的信息,但却不在DBgrid1中显示查询的结果,而只在DBgrid1显示表的域名,是为什么?请详细点,因是新手!

解决方案 »

  1.   

    adoquery3直接在窗体上拉出来,
    不要动态创建, 否则会被释放掉!
      

  2.   

    adoquery3.SQL.Add('select * from 查询表 where(航班号=:hbh)');       
    问题是你的设置的这个参数hbh没有赋值
    加上一句
    adoquery3.Parameters.ParamByName('hbh').Value := '1234';//此处的1234代表你要查询的航班号
    adoquery1.Open;
      

  3.   

    zhusongdong(东)  的说法应该是正确的 因为你所写的SQL语句是带参数的 所以必须要在打开这个ADOQUERY之前给这个参数付值
      

  4.   

    楼主不知哪儿来的习惯,总动态创建ADOQuery,这种东西要多少就拖多少到你的窗体上,比较好。