Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 基于SQL脚本将数据库表及字段提取为C#中的类

开发时,勉不了需要使用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=1WHILE @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
 ENDSELECT * FROM @tempTable生成的结果SQL中的结果图C#中的结果图具体可以依据需要作出调整C#多线程编程实例 线程与窗体交互【附源码】 http://www.linuxidc.com/Linux/2014-07/104294.htmC#数学运算表达式解释器 http://www.linuxidc.com/Linux/2014-07/104289.htm在C语言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htmC++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 http://www.linuxidc.com/Linux/2014-05/101227.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109053.htm