開發時,勉不了需要使用SQL直接與數據庫交互,這時對於數據庫中的表名及字段名會使用的比較多。如果每使用一次都復制一個,實在蛋疼。所以就考慮將其做成const常量。但是數據庫中的表和字段相當多,一個一個敲,不但累,還有可能敲錯。要保證正確,最好的辦法當然是使用工具或者腳本。
這裡提供一個SQL腳本的實現。
原理:獲取數據庫的表--->遍歷每個表中的字段--->生成數據
SQL代碼
DECLARE @tableName VARCHAR(MAX)
DECLARE @tableCount int
DECLARE @tableIndex int
DECLARE @tempTable TABLE
(
DATA VARCHAR(MAX)
)
SELECT @tableCount=COUNT(*) FROM SysObjects WHERE XType='U'
-- XType='U':表示所有用戶表;
--XType='S':表示所有系統表;
SET @tableIndex=1
WHILE @tableIndex<=@tableCount
BEGIN
SELECT @tableName=NAME
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY NAME) AS TempNO,NAME FROM SysObjects
WHERE XType='U'
) TEMP
WHERE TempNO=@tableIndex
INSERT INTO @tempTable VALUES('')
INSERT INTO @tempTable VALUES('#region ' +@tableName)
INSERT INTO @tempTable VALUES('public sealed class ' +@tableName+'{')
INSERT INTO @tempTable SELECT 'public const string '+name+'="'+name+'";' FROM syscolumns WHERE id in
(SELECT id FROM sysobjects WHERE name=@tableName)
INSERT INTO @tempTable VALUES( '}')
INSERT INTO @tempTable VALUES('#endregion')
INSERT INTO @tempTable VALUES('')
SET @tableIndex+=1
END
SELECT * FROM @tempTable
生成的結果
SQL中的結果圖
C#中的結果圖
具體可以依據需要作出調整
C#多線程編程實例 線程與窗體交互【附源碼】 http://www.linuxidc.com/Linux/2014-07/104294.htm
C#數學運算表達式解釋器 http://www.linuxidc.com/Linux/2014-07/104289.htm
在C語言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htm
C++ Primer Plus 第6版 中文版 清晰有書簽PDF+源代碼 http://www.linuxidc.com/Linux/2014-05/101227.htm