Thursday, December 6, 2007

查詢SQL SERVER中所有資料庫跟資料表

system1

這支程式,大概是半年前完成的。其實功能不會算很複雜,大致需求如下:

1.利用treeview列出資料庫中所有的資料庫、資料表、欄位
2.在treeview進行點選之後,可跑到datagridview上,並可進行計算

以上兩點為最主要的兩個功能,其他就小細節。原本打算用資料表記下所有的資料庫、資料表、欄位,但這樣後續又會有問題,例如如何insert新的資料庫、資料表、欄位?!後來打算利用SQL語法將所需要的資料抓出來,但是以前都是抓資料庫中某個資料表中的欄位或是透過join抓取兩個關聯資料表中的欄位,到底要去哪抓可以抓到SQL SERVER中所有的資料庫、資料表以及欄位,網路上找了很久,甚至又mail給相關領域的專家,好不容易得到解答,抓取資料的問題解決之後,其他小問題就可以輕鬆的解決。

在SQL SERVER 2005抓取資料庫的SQL語法

select name    from master.dbo.sysdatabases

抓取資料表的SQL語法

select Table_name from INFORMATION_SCHEMA.TABLES order by Table_name

抓取欄位的SQL語法

select column_name from INFORMATION_SCHEMA.COLUMNS where table_name='TableName'