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

来源:互联网 发布:sim900a调试软件 编辑:程序博客网 时间:2024/05/29 15:21
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 ONGOSET QUOTED_IDENTIFIER ONGO/******************************************************* DECRIPTION: 生成(c#model类)代码的存储过程** VERSION      AUTH          DATE          Defect NoDESC** --------  ------------  ------------  -----------------   ------------------------------** V000.0.1    pukuimin     08/04/2012新建程序** --------  ------------  ------------  -----------------   -------------------------------*******************************************************/CREATE procedure [dbo].[pro_GenerateModel](@TbName NVARCHAR(200) ---表名)asbeginDECLARE @TableName     NVARCHAR(200)  --表名DECLARE @ConstructParams     VARCHAR(8000)  --构造参数DECLARE @ConstructGetValue     VARCHAR(8000) --构造赋值DECLARE @FieldPropertys     VARCHAR(8000) --属性和字段SELECT @TableName = @TbName,@ConstructParams = '',@FieldPropertys='',@ConstructGetValue=''if isnull(@TableName,'')=''beginprint '表名不能为空!'return 0end ----输出存储过程名--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.COLUMNSWHERE 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)+'/// '+@TableNameprint 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 @ConstructParamsprint dbo.fun_get_tabspace(2)+')'print dbo.fun_get_tabspace(2)+'{'print @ConstructGetValueprint dbo.fun_get_tabspace(2)+'}'print @FieldPropertysprint dbo.fun_get_tabspace(1)+'}'end/*exec [pro_GenerateModel] 'stuinfo'*/

原创粉丝点击