sql 查询表中所有字段的名称

最近工作用到SQL语句查询表中所有字段的名称,网上查询,发现不同数据库的查询方法不同,例如:

SQL server

查询表的所有字段名称:
Select name from syscolumns Where ID=OBJECT_ID('表名')


Sqlite

查询表中所有字段名称;

SELECT name FROM sqlite_master WHERE type=’table’ ORDER BY name;


Oracle
查看所有字段

select column_name from user_tab_columns where table_name='ZW_YINGYEZ'

 

 

考虑到SQL语句的通用性,结合抽象工厂模式,个人结合DataTable、DataSet和基本的SQL语句,设计了一个通用的方法:

List<string> filedList = new List<string>();
DataSet ds = _autoTestSQL.ReadMethod(string.Format("select * from {0} order by [AutoId]", 表名));
DataTable dt = new DataTable();
dt.Clear();
dt = ds.Tables[0];

for (int j = 0; j < dt.Columns.Count; j++)
{
filedList.Add( dt.Columns[j].ColumnName.Trim() );
}

return filedList;//所有表的字段列表

 

这样,就间接的得到所有的字段;

 

posted @ 2016-09-04 21:03  ldldavid  阅读(13242)  评论(0编辑  收藏  举报