当前位置: 代码迷 >> 其他数据库 >> 根据表名查询表的字段名(列名称)解决方法
  详细解决方案

根据表名查询表的字段名(列名称)解决方法

热度:9603   发布时间:2013-02-26 00:00:00.0
根据表名查询表的字段名(列名称)
我写了一个方法要根据“表名”查询表里的字段名比如:
A C B
1 3 5
2 4 6

我查出列名数据就是 
A
C
B

不需要排序,最好能够跟表里的字段顺序一致。
各位大大 支持一下。。。

需要MYSQL 、 SQL Server 、 Oracle 、
先谢谢 回答任意一个都给分。 如果可以我会加分

------解决方案--------------------------------------------------------
1、ADO连接数据库,用OPENSCHEMA取;
2、连接数据库后,直接读取系统表。
------解决方案--------------------------------------------------------
mysql 5.x以上:
select *from information_schema.columns
where table_schema='csdn' and table_name='test' 
sqlserver:
select * from syscolumns
where id = (select id from sysobjects where name = '表名')
------解决方案--------------------------------------------------------
oracle:
select * from all_TAB_COLUMNS where table_name = 'ACHBATCH'//注意表名大写
------解决方案--------------------------------------------------------
这几种数据库都有它的数据字典,可以直接用SQL语句取到相关列信息,不需要通过ADO来逐FIELD来取。

mysql
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA='db1' and TABLE_NAME='table1'

sqlserver:
select syscolumns.* from syscolumns inner join sysobjects on syscolumns.id = sysobjects.id where sysobjects.name = 'table1'

Oracle
select * from ALL_TAB_COLUMNS where table_name = 'TABLE1'
  相关解决方案