C#獲取SQLServer資料庫表名和欄位名
阿新 • • 發佈:2019-02-09
SQLServer資料庫每個資料庫都有INFORMATION_SCHEMA檢視,資料庫的結構資訊Schema都在這裡儲存。
select TABLE_NAME,TABLE_TYPE,TABLE_CATALOG,TABLE_SCHEMA from INFORMATION_SCHEMA.TABLES;
select COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE from INFORMATION_SCHEMA.COLUMNS t where t.TABLE_NAME = 'StoreType';
private void button4_Click(object sender, EventArgs e) { string sql = ""; DataTable dtTmp = null; //取出表名 sql = "select * from INFORMATION_SCHEMA.TABLES;"; dtTmp = SQLSERVER_DB_Helper.GetDataTable(sql); foreach(DataRow dr in dtTmp.Rows) { String tableName = dr["TABLE_NAME"].ToString(); System.Console.WriteLine(tableName); //欄位名 string sql_1 = "select * from INFORMATION_SCHEMA.COLUMNS t where t.TABLE_NAME = '" + tableName + "';"; DataTable dttTmp = SQLSERVER_DB_Helper.GetDataTable(sql_1); foreach (DataRow drr in dttTmp.Rows) { String columnName = drr["COLUMN_NAME"].ToString(); System.Console.WriteLine("\t" + columnName); } } }