根據SQLServer數據表生成C#實體類

生成表的實體類工具,有助於減小代碼量,加快開發速度.

先看效果圖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 而後從配置文件讀取.怎奈發現應用程序執行中.只有下次才能從配置文件中讀.因此就沒這麼作.

源碼下載

一路走來,一切都在改變,惟一不變的是心中的那份執着.
相關文章
相關標籤/搜索