`
wyf
  • 浏览: 424968 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

sql 生成(c#model类)代码的存储过程

 
阅读更多
GO
/****** 对象:  StoredProcedure [dbo].[pro_GenerateModel]    脚本日期: 08/04/2012 11:26:43 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[pro_GenerateModel]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[pro_GenerateModel]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*****************************************************
** DECRIPTION: 生成(c#model类)代码的存储过程
** VERSION      AUTH          DATE          Defect No			DESC
** --------  ------------  ------------  -----------------   ------------------------------
** V000.0.1    pukuimin     08/04/2012							新建程序
** --------  ------------  ------------  -----------------   -------------------------------
*******************************************************/
CREATE procedure [dbo].[pro_GenerateModel](
					@TbName NVARCHAR(200) ---表名
)
as
begin
DECLARE @TableName     NVARCHAR(200)  --表名
DECLARE @ConstructParams     VARCHAR(8000)  --构造参数
DECLARE @ConstructGetValue     VARCHAR(8000) --构造赋值
DECLARE @FieldPropertys     VARCHAR(8000) --属性和字段
SELECT @TableName = @TbName,@ConstructParams = '',@FieldPropertys='',@ConstructGetValue=''

if isnull(@TableName,'')=''
begin
	print '表名不能为空!'
	return 0
end 

----输出存储过程名
--PRINT 'CREATE PROCEDURE dbo.pro_get_'+dbo.fun_get_UpperFirst(@tablename)+'('


SELECT 
----构造参数
@ConstructParams = @ConstructParams + dbo.fun_get_tabspace(3)+dbo.fun_get_cssdt_by_sqldt(DATA_TYPE)+' '+dbo.fun_get_LowerFirst(COLUMN_NAME)+','+CHAR(10),   ---- CHAR(10)换行符
----构造赋值
@ConstructGetValue = @ConstructGetValue + dbo.fun_get_tabspace(2)+'this.'+dbo.fun_get_UpperFirst(COLUMN_NAME)+' = '+dbo.fun_get_LowerFirst(COLUMN_NAME)+';'+CHAR(10),
---属性和字段
@FieldPropertys = @FieldPropertys + dbo.fun_get_tabspace(2)+
'private '+dbo.fun_get_cssdt_by_sqldt(DATA_TYPE)+' '+dbo.fun_get_LowerFirst(COLUMN_NAME)+
    (CASE 
		WHEN DATA_TYPE='NVARCHAR' OR DATA_TYPE='VARCHAR' OR DATA_TYPE='CHAR'OR DATA_TYPE='NCHAR' OR DATA_TYPE='NTEXT' OR DATA_TYPE='TEXT' OR DATA_TYPE='OUT'
        THEN ' = ""'
		when data_type='uniqueidentifier' or DATA_TYPE='image' or DATA_TYPE='variant'
		then ' = null'
    ELSE
        ' = '+dbo.fun_get_cssdt_by_sqldt(DATA_TYPE)+'.MinValue'
    END)
+';'+
CHAR(10)+dbo.fun_get_tabspace(2)+'/// <summary>'+
CHAR(10)+dbo.fun_get_tabspace(2)+'/// '+dbo.fun_get_comment(@tablename,COLUMN_NAME)+
CHAR(10)+dbo.fun_get_tabspace(2)+'/// <summary>'+
CHAR(10)+dbo.fun_get_tabspace(2)+'public '+dbo.fun_get_cssdt_by_sqldt(DATA_TYPE)+' '+dbo.fun_get_UpperFirst(COLUMN_NAME)+
CHAR(10)+dbo.fun_get_tabspace(2)+'{'+
CHAR(10)+dbo.fun_get_tabspace(3)+'get { return '+dbo.fun_get_LowerFirst(COLUMN_NAME)+';}'+
CHAR(10)+dbo.fun_get_tabspace(3)+'set { '+dbo.fun_get_LowerFirst(COLUMN_NAME)+' = value;}'+
CHAR(10)+dbo.fun_get_tabspace(2)+'}'+CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName 
set @ConstructParams=LEFT(@ConstructParams,LEN(@ConstructParams)-2) ----去掉 ‘,’ 和 换行符
set @ConstructGetValue=LEFT(@ConstructGetValue,LEN(@ConstructGetValue)-1)
set @FieldPropertys=LEFT(@FieldPropertys,LEN(@FieldPropertys)-1)
print dbo.fun_get_tabspace(1)+'/// <summary>'
print dbo.fun_get_tabspace(1)+'/// '+@TableName
print dbo.fun_get_tabspace(1)+'/// <summary>'
print dbo.fun_get_tabspace(1)+'[Serializable]'
print dbo.fun_get_tabspace(1)+'public class '+@TableName+'Model'  --    
print dbo.fun_get_tabspace(1)+'{'
print dbo.fun_get_tabspace(2)+'/// <summary>'
print dbo.fun_get_tabspace(2)+'/// 无参构造函数 '
print dbo.fun_get_tabspace(2)+'/// <summary>'
print dbo.fun_get_tabspace(2)+'public '+@TableName+'Model(){}'
print dbo.fun_get_tabspace(2)+'/// <summary>'
print dbo.fun_get_tabspace(2)+'/// 有参构造函数 '
print dbo.fun_get_tabspace(2)+'/// <summary>'
print dbo.fun_get_tabspace(2)+'public '+@TableName+'Model('
print @ConstructParams
print dbo.fun_get_tabspace(2)+')'
print dbo.fun_get_tabspace(2)+'{'
print @ConstructGetValue
print dbo.fun_get_tabspace(2)+'}'
print @FieldPropertys
print dbo.fun_get_tabspace(1)+'}'
end
/*


exec [pro_GenerateModel] 'stuinfo'




*/

 

分享到:
评论

相关推荐

    根据SQLServer数据表生成C#实体类。生成数据库模型.zip

    根据SQLServer数据表生成C#实体类,内含SQLHelper,生成工具及源码。可生成数据库图片存储的字段

    自动生成DAL层的MODEL的C#代码、以及通用存储过程

    Code Generation Tool(C#)是专门针对SQL SERVER 2005以上数据库实现自动生成DAL层的MODEL的C#代码。在分层开发中,将数据库表实现类操作是常用的方法,但是枯燥和繁琐的代码编写占用了我们大量的时间,于是通过使用...

    CodeSmith代码生成模板(Access和Sql server) C#语言。

    文件中包括两种5个文件: 1、Oledb 包括使用access...4、Model 包含一个一次生成所有Model中实体类的模板。 CodeSmith模板可以由用户自定义。其语法与C#语法类似。 ****************请支持原创****************

    超强的C#代码生成工具,支持ACCESS,ORACLE,SQL 最新

    软件功能及特点: 1、类反射工厂,泛型接口,三层架构,缓存机制,存储过程,分页,用户控件,一气呵成 ...8、自动生成SqlServer和MySql存储过程 9、数据库操作可选择SQL语句和存储过程 10、其它实用小工具

    c#三层架构代码生成器

    Codematic 是一款为 C#... Codematic 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。

    CodeSmith模版-生成C#增删改查(分页,主键)方法和存储过程

    3与DAL层对应的也就是DAL层C#方法中要调用相应的“存储过程”,而这些存储过程则由“表的增删改查(分页,主键)SQL存储过程.cst”文件生成。存储过程名称也不用修改,都是“一一对应的”。 4而“表的增删改查...

    C#自动生成三层结构实体类

    根据sql server 数据库自动生成三层结构的实体类 生成DAL时可以选择企业库或非企业库模式,企业库用到的DLL已经附带在本资源中,DataRecordTable.cs放在生成后的Model中 如果选择非企业库,则需要用到MyData.cs文件,...

    C# .Net代码生成器

    10 Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。

    麦卡(C# 2.0)代码生成器

    采用 公共层 + 存储过程 + 实体层 + 数据层 + 逻辑层 + 表示层 的设计,主要实现在 C# 中对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、Model 类构造等基础代码片断,使程序员可以...

    Net代码生成器-自动生成代码,自动生成数据库文档

    Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。

    codematic2 c# 代码生成器.rar(2011-8-15)

    codematic2 c# 代码生成器.rar (2011-8-15)最新版 可以根据数据库生成对应的c#类 存储过程 sql语句 以及对应增删改查的页面aspx文件 和cs文件 是.net程序员的必备软件 Codematic (原名:LTP.Net代码自动生成器)是...

    .Net代码生成器Codematic 是一款为C#数据库程序员设计的自动代码生成器

    Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。

    LTP.Net代码自动生成器(DbToCode)

    采用 Model + DAL + BLL + Web 的设计,主要实现在 C# 中对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、 Model 类构造等基础代码片断,使程序员可以节省大量机械录入的时间和...

    .NET2.0(C#)代码生成器

    &lt;br&gt; Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。...

    c#(asp.net)机器人项目生成器

    3.生成增、删、改、查、分页、详细的存储过程等SQL脚本。 4.暂支持SQL2000和SQL2005数据库。 5.实现类似SQL的查询分析器的功能,可进行SQL语句执行。 6.生成外键关联自动绑定。 7.字段的中文注释都自动生成Html页面...

    .NET代码生成插件源码

    Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。

    .net 代码生成器

    ≡≡≡≡≡≡≡≡≡≡≡≡≡『软件简介』≡≡≡≡≡... Codematic 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的

    动软.Net代码生成器 v2.77 build 20121212

    采用Model+DAL+BLL+Web的设计,主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同3种架构代码生成,使程序员可以节省大量机械录入...

    LTP(.NET三层代码生成器)

    LTP 同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。

    动软.Net代码自动生成器2.0

    Codematic同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。

Global site tag (gtag.js) - Google Analytics