如何知道用TADODataSet打开的数据库的表名称 (100分)

  • 主题发起人 lastgood
  • 开始时间
L

lastgood

Unregistered / Unconfirmed
GUEST, unregistred user!
如何知道用TADODataSet打开的数据库名
如:
ADODataSet1.CommandText:='Select * from 表名';
//表名,是不定的,
//然后要取得她的数据库的表名。
{Modify:2002/11/25 15:38
GetTableNames(List: TStrings; SystemTables: Boolean = False);
得到所有表,并不能得到当前表,如果这样就不行了
有ADOConnection1,ADODataset1,ADODataset2
ADODataset1.Connection:=ADOConnection1;
ADODataset2.Connection:=ADOConnection1;
这样,想分别得到ADODataset1与ADODataset2的表名,又该如何?
}
 
ADODataSet1.Connection.DefaultDatabase
 
然后要取得她的数据库的表名。
 
那分析SQL啊.
從第一個From後到Where(如果有)
 
对,解析SQL
 
ADODataSet1.Connection.DefaultDatabase
 
TAdoTable 有 TableName

TAdoConnection有以下方法获得表名:

GetTableNames(List: TStrings; SystemTables: Boolean = False);
 
如果打开的是一个单独的表则:
ADODataset中的commandtext中分析可得出。
否则{打开多表}
没有答案

建议:ADOConnaction中有方法,可得出联接数据库的全部表名
 
GetTableNames(List: TStrings; SystemTables: Boolean = False);
得到所有表,并不能得到当前表,如果这样就不行了
有ADOConnection1,ADODataset1,ADODataset2
ADODataset1.Connection:=ADOConnection1;
ADODataset2.Connection:=ADOConnection1;
这样,想分别得到ADODataset1与ADODataset2的表名,又该如何?
 
有人能回答吗?
-------------------------------------------------
GetTableNames(List: TStrings; SystemTables: Boolean = False);
得到所有表,并不能得到当前表,如果这样就不行了
有ADOConnection1,ADODataset1,ADODataset2
ADODataset1.Connection:=ADOConnection1;
ADODataset2.Connection:=ADOConnection1;
这样,想分别得到ADODataset1与ADODataset2的表名,又该如何?
-------------------------------------------------
 
真的无人能回答吗?
 
顶部