Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******* Object: StoredProcedure [dbo].[Tabla_ClasePropiedades_C#] **************/
- /******* Fecha: 15/02/2014 21:23:59 ******/
- /******* Autor : Jorge Sánchez ********/
- ALTER PROCEDURE [dbo].[Tabla_ClasePropiedades_C#]
- @Tabla CHAR(50)
- AS
- BEGIN
- DECLARE @IdCampo INT,@Campo CHAR(50),@Tipo CHAR(50),@Longitud INT --,@Permite_Nulo CHAR(10),@Tabla_Externa CHAR(50),
- DECLARE @Prefijo CHAR(1),@sTipo CHAR(10)
- DECLARE Campos CURSOR
- FOR SELECT DISTINCT
- syscolumns.colid AS IdCampo, syscolumns.name AS Campo, systypes.name AS Tipo,
- syscolumns.LENGTH AS Longitud
- FROM
- sysobjects sysobjects_1 RIGHT OUTER JOIN
- sysforeignkeys ON sysobjects_1.id = sysforeignkeys.rkeyid RIGHT OUTER JOIN
- syscolumns INNER JOIN
- sysobjects ON syscolumns.id = sysobjects.id INNER JOIN
- systypes ON syscolumns.xtype = systypes.xtype ON sysforeignkeys.fkeyid = syscolumns.id AND
- sysforeignkeys.fkey = syscolumns.colid LEFT OUTER JOIN
- sysindexkeys ON sysobjects.id = sysindexkeys.id AND syscolumns.colid = sysindexkeys.colid
- WHERE
- sysobjects.name = @Tabla AND systypes.name <> 'sysname'
- ORDER BY syscolumns.colid
- OPEN Campos
- FETCH NEXT FROM Campos
- INTO @IdCampo,@Campo,@Tipo,@Longitud;
- WHILE @@FETCH_STATUS = 0
- BEGIN
- -- ****************************** PRINT DE LAS PROPIEDADES ****************************************
- -- *********>> PREFIJO DE LA PROPIEDAD
- SELECT @Prefijo = 'x'
- SELECT @sTipo = 'xxxxx'
- IF @Tipo = 'char' OR @Tipo = 'nchar' OR @Tipo = 'varchar' BEGIN SELECT @Prefijo = 's';SELECT @sTipo ='string' END
- IF @Tipo = 'int' OR @Tipo = 'Numeric' BEGIN SELECT @Prefijo = 'i';SELECT @sTipo ='int' END
- IF @Tipo = 'bit' BEGIN SELECT @Prefijo = 'b';SELECT @sTipo ='Boolean' END
- IF @Tipo = 'Date' OR @Tipo = 'Datetime' BEGIN SELECT @Prefijo = 'f';SELECT @sTipo ='DateTime' END
- SELECT @Prefijo = '_'
- -- ************** GENERAMOS LA PROPIEDAD
- PRINT 'private '+ LTRIM(RTRIM(@sTipo)) + ' ' + @Prefijo+LTRIM(RTRIM(@Campo)) + ';'
- PRINT 'public ' + LTRIM(RTRIM(@sTipo)) + ' ' + LTRIM(RTRIM(@Campo))
- PRINT '{'
- PRINT ' get {return ' + @Prefijo+LTRIM(RTRIM(@Campo)) + ';}'
- PRINT ' set {' + @Prefijo+LTRIM(RTRIM(@Campo)) +' = value; }'
- PRINT '}'
- PRINT ''
- PRINT ''
- -- *************************************************************************************************
- FETCH NEXT FROM Campos
- INTO @IdCampo,@Campo,@Tipo,@Longitud;
- END
- CLOSE Campos;
- DEALLOCATE Campos;
- END
Advertisement
Add Comment
Please, Sign In to add comment