生成表的實體類工具,有助於減小代碼量,加快開發速度.
先看效果圖html
第一副圖根據輸入的鏈接服務器地址 用戶名 登陸數據庫名 密碼鏈接到數據庫.若是錯誤則提示鏈接失敗.數據庫
第二幅圖先取的當前數據庫全部的用戶建立的表服務器
而後根據選中的表名取得數據庫中關於此表信息的的系統表.而後將字段類型轉換爲C#數據類型.並輸出的TextBoxapp
這裏主要用到幾個表工具
select * from sys.extended_properties 表註釋 和列註釋,列的排列順序(不帶列名)post
select * from sys.columns 數據庫表全部列的詳細信息 字段類型,表的字段,名稱等測試
select * from sysobjects where xtype = 'U' --全部用戶建立的表 列IDhtm
select * from systypes --SQL SERVER 數據庫全部的類型blog
select * from syscolumns 全部字段名稱 長度等ip
下面以 Ts_Customers 爲例 取得此表的 列名,列類型,表註釋,列註釋
select syscolumns.name,systypes.name as type
,(select isnull(value,'') from sys.extended_properties ex_p where ex_p.minor_id=0
and ex_p.major_id=sysobjects.id) as TableDemo
,ext.value as colName from syscolumns
INNER JOIN sysobjects ON syscolumns.id = sysobjects.id
INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id
and ext.minor_id=syscolumns.colorder
WHERE (sysobjects.name = 'Ts_Customers') AND (systypes.name <> 'sysname')
效果以下
取得結果後.就是循環寫入到TextBox了。這裏代碼不貼了.很簡單
基本達到想要的效果.遺憾的是想把數據庫鏈接測試經過後動態保持到app.config 而後從配置文件讀取.怎奈發現應用程序執行中.只有下次才能從配置文件中讀.因此就沒這麼作.