我有一SQL数据库,别名为py2003,如何在DELPHI中查询这个数据库的内容,我写了几行代码,为什么总是出错的:
query1.sql.clear;
query1.close;
query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
query1.open;
还缺什么代码才能查询库里的内容呢?
还有我使用了一个TQuery,TDataSource,为什么TQuery设置了DatabaseName,TDataSource.DataSet:=query1后,不能对TQuery.DataSource指向TDataSource呢?

解决方案 »

  1.   

    顺序反了
    query1.close;
    query1.sql.clear;
    query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
    query1.open;
      

  2.   

    出了这个错误:
    query1:No Sql statement available
      

  3.   

    还有,如果将TDataSource.DataSet设置为query1,query1.DataSource是空的,不能设置,为什么呢?
      

  4.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
    query1.open;
    如 SmallHand(火龍)说的,你的顺序反了
    你用的是BDE的QUERY,要设置databasename的
      

  5.   

    query1.DataSource不需设置query1.close;
    query1.sql.clear;
    query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
    query1.open;
      

  6.   


    query1.close;
    query1.sql.clear;
    query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
    query1.open;
      

  7.   

    只要有一个TQUERY就可以了,把TQUERY的DATABASENAME设置为py2003

    beginquery1.close;
    query1.sql.clear;
    query1.sql.add('select hp_num from hu_bak');//hp_num为字段,hu_bak为表
    query1.open;
    end;
      

  8.   

    先close再clear,这个代码的意义要理解清楚啊……