1. 程式人生 > >C#獲取SQLServer資料庫表名和欄位名

C#獲取SQLServer資料庫表名和欄位名

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);


                }


            }


        }