[转]基于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=1

WHILE @tableIndex<[email protected]

BEGIN
  SELECT @tableName=NAME 
  FROM
  (
   SELECT ROW_NUMBER() OVER(ORDER BY NAME) AS TempNO,NAME FROM SysObjects 
   WHERE XType=‘U‘
  ) TEMP
  WHERE [email protected]
 
  INSERT INTO @tempTable VALUES(‘‘)
 
  INSERT INTO @tempTable VALUES(‘#region ‘ [email protected])
 
  INSERT INTO @tempTable VALUES(‘public sealed class ‘ [email protected]+‘{‘)

INSERT INTO @tempTable SELECT ‘public const string ‘+name+‘="‘+name+‘";‘  FROM  syscolumns WHERE  id  in  
  (SELECT  id  FROM  sysobjects  WHERE  [email protected])

INSERT INTO @tempTable VALUES( ‘}‘)
  
  INSERT INTO @tempTable VALUES(‘#endregion‘)
  
  INSERT INTO @tempTable VALUES(‘‘)
  
  SET @tableIndex+=1
 END

SELECT * FROM @tempTable

生成的结果

SQL中的结果图

C#中的结果图

具体可以依据需要作出调整

时间: 2024-10-25 17:26:40

[转]基于SQL脚本将数据库表及字段提取为C#中的类的相关文章

基于SQL脚本将数据库表及字段提取为C#中的类

开发时,勉不了需要使用SQL直接与数据库交互,这时对于数据库中的表名及字段名会使用的比较多.如果每使用一次都复制一个,实在蛋疼. 所以就考虑将其做成const常量.但是数据库中的表和字段相当多,一个一个敲,不但累,还有可能敲错.要保证正确,最好的办法当然是使用工具或者脚本. 这里提供一个SQL脚本的实现. 原理:获取数据库的表--->遍历每个表中的字段--->生成数据 SQL代码 DECLARE @tableName VARCHAR(MAX) DECLARE @tableCount int D

FineUI之使用SQL脚本从数据库表中生成相应的输入控件

在WEB开发时,经常需要依据数据库表中的字段建立相应的输入控件,来获取输入的数据.每次都需要按字段来敲,显然太低效,而且容易出错.这里提供一个SQL脚本生成相应输入控件的方法. USE DBDemo DECLARE @TEMP_TABLE_NAME NVARCHAR(512) DECLARE @WIDTH NVARCHAR(50) SET @TEMP_TABLE_NAME='Stuff' SET @WIDTH='200' SELECT '<f:'+TOKEN+' runat="server

FineUI之使用SQL脚本从数据库表中生成对应的输入控件

在WEB开发时.常常须要根据数据库表中的字段建立对应的输入控件,来获取输入的数据.每次都须要按字段来敲,显然太低效.并且easy出错.这里提供一个SQL脚本生成对应输入控件的方法. USE DBDemo DECLARE @TEMP_TABLE_NAME NVARCHAR(512) DECLARE @WIDTH NVARCHAR(50) SET @TEMP_TABLE_NAME='Stuff' SET @WIDTH='200' SELECT '<f:'+TOKEN+' runat="serv

从一个简单的约束看规范性的SQL脚本对数据库运维的影响

原文:从一个简单的约束看规范性的SQL脚本对数据库运维的影响 之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性. 如下是一个简单的建表脚本,表面上看起来并没有什么问题.其中创建了3个约束,一个主键约束,一个唯一约束,一个默认值约束,该脚本执行起来没有任何问题. USE Test GO if exists(select 1 from sys.tables

PowerDesigner中SQL文件、数据库表反向生成PDM

1      反向生成PDM 1)        创建一个空的PDM模型(选择对应的DBMS): 2)        选择[Database]--[Update Model from Database-]菜单: 1.1    使用SQL文件 1)        在新窗口选择对应[Using script files]--[(Add Files)].然后再弹出窗口选择对应的SQL文件.点击打开,完成选择. 2)        点击[确定]生成. 1.2    使用数据源 1)        选择数

【半转贴】解决SQL SERVER 2008数据库表中修改字段后不能保存

SQL SERVER 2008数据库表中修改字段后不能保存,这种情况将阻止保存要求重新创建表的更改一项的钩钩去掉就OK了 找到工具>选项>Designers>表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了 图片来自:http://www.jb51.net/article/42727.htm 刚好碰到这个问题,用的就是上面的方法解决的 [半转贴]解决SQL SERVER 2008数据库表中修改字段后不能保存

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

MySQL数据库中查询数据库表、字段总数量,查询数据总量

最近要查询一些数据库的基本情况,由于以前用oracle数据库比较多,现在换了MySQL数据库,就整理了一部分语句记录下来. 1.查询数据库表数量 1 #查询MySQL服务中数据库表数据量 2 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema; 3 #查询指定数据库表数量 4 SELECT COUNT(*) TABLES, table_schema FROM infor

sql语句 生成数据库表

  打开PowerDesigner,鼠标单击File菜单: 2 选择:Reverse Enginer,然后在他的子菜单选择Database...; 3 选择好DBMS(数据库管理系统)类型:然后点击确定按钮:这里演示选中的是mysql数据库,具体类型根据自己需要选择: 4 点击Add  Files 图标添加脚本: 5 找到要导入的sql脚本,鼠标单击打开按钮: 6 鼠标单击,确定按钮: 7 开始反向工程生成数据库..... 8 导入成功! 原文地址:https://www.cnblogs.com