2008年6月5日

SQL Server表格管理小工具

構想參考 使用GridView顯示Sql資料庫的Table Layout(Schema)


在某天看了上述連結中,小喵大示範的教學
坎尼嚇到差點尿出一身汗 (嗄?)
原來SQL SERVER裡存在著這麼方便的Stored Procedure (明明就是你弱)
所以利用了上週六半天的時間 實作了 C# Windows AP版本
(還好閃光很乖的在旁邊打NDSL)

說真的 坎尼懂的只有概念
小喵大的程式卻只看的懂一半左右 囧興

不過只要懂得以下幾項劍意,劍招自然也就不需理解太多...
//取DataSource中表格
exec sp_tables
@table_name = '%' ,
@table_owner = 'dbo',
@table_qualifier = @DBName;

//取表格中所有欄位資訊
sp_columns 'TableName'
//取表格中所有的pk欄位
sp_pkeys 'TableName'
//取表格中所有有填寫備註的欄位資訊
Select * FROM ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table', @TableName, 'column', default)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

另外,這個小工具和小喵大的網頁版最大的不同是
本工具表格的說明是存於xml檔中
不是自己在資料庫又開一個資料表去存喔
好處就是存檔快 換電腦也不用再到Sql Server中開新Table
而且每台有Sql Server 2000以上的電腦都能使用

最大的缺點就是...要是存檔的xml砍掉了就一切得重來
不過顧及普遍性及好用程度 最後還是決定存成xml啦
要用的人最好一段時間就把xml備份到網路上去吧

本來坎尼還想作出修改欄位和匯出的功能
但是修改卡在找不到有什麼預設的Stored Procedure去修改
匯出功能想用OWC 可是又不熟
且用OWC元件勢必又要把dll放在執行檔旁邊 令人討厭

所以基本功能在上星期六完成後 就一直沒繼續往下做完的原因在此
要是有人知道預設的Stored Procedure裡有修改欄位資訊的
請務必連絡 33345678 啊 不是 請留言 (我只知道sp_rename)
0506 10:55 新增
就在剛剛同學鵝蛋丟了個msn給我:用 Alter Table 就好了啊 =.=
我還真的完完全全忘了這個東西的存在
看來我回學校去和學弟妹們重上DataBase的課好了 orz
翻了一下T-SQL語法,看來直接用這個工具修改TableSchema是可行的
明天又是個星期六 來研究一下語法和把剩下的給做一做吧 :p

OWC我就慢慢的翻google到的東西吧 哈

最後的最後 人云:沒圖沒真相
所以 真相來了

程式下載
How to Use

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D