一个函数,接收参数为adodataset,如何知道该adodataset所指的表的名字,access数据库。

解决方案 »

  1.   

    如果ADOdataset为ADOTable,那么
    表名:=(ADOdataset as TADOTable).TableName;
    如果为ADOQuery,那么
    可从它的SQL字符串中分析可得到表名
    这个分析过程比较麻烦点,就是先取得它的SQL语句,然后再分析其中的字符中的表信息。
      

  2.   

    已知adodataset1,该如何写,我写的有错误吗?
    var
      str:string;
    begin
      str:=(adodataset_temp as Tadotable).tablename;
    end;
    编译通不过?
    incompatible type:'Tadotable' and 'Tadodataset'
      

  3.   

    sorry,你的Dataset中CommandType属性是什么呢?如果为cmdTable的话,它所用的表名可以直接这样
    var
      str:string;
    begin
      str:=dataset.commandText;
    end;
      

  4.   

    var
      str:string;
    begin
      str:=dataset.TableName;
    end;