ADoDataSetTable.CommandText := 'select name from sysobjects where xtype=:dbtype';
   ADoDataSetTable.Parameters.ParamByName('dbtype').Value := '''U''';
   ADoDataSetTable.Open;
   ADoDataSetTable.CommandText := 'select name from sysobjects where xtype=:dbtype';
   ADoDataSetTable.Parameters.ParamByName('dbtype').Value := 'U';
   ADoDataSetTable.Open;都不成功,为什么?

解决方案 »

  1.   

    是SQL Server 数据库吧?有什么错误提示,正确连接到数据库了吗?---------------------------------------------------
    http://kmok.cn
      

  2.   

    连接成功是SQLSERVER 但是没有一个表名出来,但是在查询分析器,那句话是可以显示表名的
      

  3.   

    执行sql语句,你使用Query类组件
      

  4.   

    你在执行open前先将adodatasettable.commandtext属性值show出来看一下会发现参数没有传入。
    更改代码如下,执行成功。
    ADoDataSetTable.Close;
    ADoDataSetTable.CommandText :=
       format('select name from sysobjects where xtype= ''%s'' ',['U']);
    //ADoDataSetTable.Parameters.ParamByName('dbtype').Value := '''U''';
    showmessage(ADoDataSetTable.CommandText);
    ADoDataSetTable.Open;
      

  5.   

    我晕.要获得表名,不用这样得到吧,好好看看这个TADOConnection组件的方法.
      

  6.   

    GetTableNames方法,你看看帮助吧/