Developer's
Hola a todos los lectores que visitan este blog sean bienvenidos y reciban un cordial saludo de nuestra parte, por el momento somos 3 colaboradores que estaremos subiendo cosas respecto a desarrollo que nos haya parecido interesante.
Developer Tools
lunes, 9 de septiembre de 2019
jueves, 7 de septiembre de 2017
Genera Web.config para WebService
Declare @NameSpace varchar(250);
Declare @NameService varchar(250);
Declare @Marker varchar(250);
Declare @Interface varchar(250);
Declare @BehaviorName varchar(250);
Declare @BindingBasic varchar(250);
Declare @BindingWeb varchar(250);
Declare @BindingWs varchar(250);
Declare @BindingBasicName varchar(250);
Declare @BindingWebName varchar(250);
Declare @BindingWsName varchar(250);
Set @NameSpace = 'WebService'
Set @NameService = 'Prueba'
Set @Marker = 'Service1'
Set @Interface = 'I' + @NameService
Set @BehaviorName = 'svc' + 'Prueba' + 'Behavior'
Set @BindingBasic = 'basicHttpBinding'
Set @BindingWeb = 'webHttpBinding'
Set @BindingWs = 'wsHttpBinding'
Set @BindingBasicName = 'basicBinding'
Set @BindingWebName = 'webBinding'
Set @BindingWsName = 'wsBinding'
print '<?xml version="1.0" encoding="utf-8"?>'
print '<configuration>'
print ' <connectionStrings>'
print ' <!--Conexion-->'
print ' <!--<add name="Integra.Services.Data.QProcess" connectionString="Data Source=201.144.205.162,1434;Initial Catalog=IntegraSoluglob; User ID=soluglob;Password=s0lugl0b1nt3gr4" providerName="System.Data.SqlClient" />'
print ' <add name="Integra.Services.Data.SoluglobChecador" connectionString="Data Source=192.168.68.252,1434;Initial Catalog=Checador; User ID=integra;Password=integra2017" providerName="System.Data.SqlClient" />'
print ' <add name="Integra.Services.Data.SoluglobAdministrativo" connectionString="Data Source=192.168.68.7;Initial Catalog=DB_Nomina; User ID=integra;Password=integra2017" providerName="System.Data.SqlClient" />-->'
print ' </connectionStrings>'
print ''
print '<appSettings>'
print ' <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />'
print '</appSettings>'
print ''
print '<system.web>'
print ' <compilation debug="true" targetFramework="4.5" />'
print ' <httpRuntime targetFramework="4.5" maxRequestLength="10240" executionTimeout="600" />'
print '</system.web>'
print ''
print '<system.serviceModel>'
print ' <bindings>'
print ' <'+ @BindingBasic +'>'
print ' <binding name="'+ @BindingBasicName +'" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' <security mode="None" />'
print ' </binding>'
print ' </' + @BindingBasic + '>'
print ' <'+ @BindingWeb +'>'
print ' <binding name ="'+ @BindingWebName +'" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' </binding>'
print ' </'+ @BindingWeb +'>'
print ' <'+ @BindingWs +'>'
print ' <binding name ="'+ @BindingWsName +'" maxReceivedMessageSize="2147483647" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' </binding>'
print ' </'+ @BindingWs +'>'
print ' </bindings>'
print ' <services>'
print ' <service name="' + @NameSpace + '.' + @NameService + '.' + @Marker + '" behaviorConfiguration="' + @BehaviorName +'">'
print ' <endpoint address="" binding="basicHttpBinding" contract="' + @NameSpace + '.' + @NameService + '.' + @Marker + '">'
print ' <identity>'
print ' <dns value="localhost"/>'
print ' </identity>'
print ' </endpoint>'
print ' </service>'
print ' </services>'
print ' <behaviors>'
print ' <serviceBehaviors>'
print ' <behavior name="' + @BehaviorName +'">'
print ' <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />'
print ' <serviceDebug includeExceptionDetailInFaults="true"/>'
print ' <bufferedReceive maxPendingMessagesPerChannel="2147483647" />'
print ' </behavior>'
print ' </serviceBehaviors>'
print ' </behaviors>'
print ' <protocolMapping>'
print ' <add binding="'+ @BindingBasic +'" scheme="https" />'
print ' </protocolMapping>'
print ' <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />'
print '</system.serviceModel>'
Declare @NameService varchar(250);
Declare @Marker varchar(250);
Declare @Interface varchar(250);
Declare @BehaviorName varchar(250);
Declare @BindingBasic varchar(250);
Declare @BindingWeb varchar(250);
Declare @BindingWs varchar(250);
Declare @BindingBasicName varchar(250);
Declare @BindingWebName varchar(250);
Declare @BindingWsName varchar(250);
Set @NameSpace = 'WebService'
Set @NameService = 'Prueba'
Set @Marker = 'Service1'
Set @Interface = 'I' + @NameService
Set @BehaviorName = 'svc' + 'Prueba' + 'Behavior'
Set @BindingBasic = 'basicHttpBinding'
Set @BindingWeb = 'webHttpBinding'
Set @BindingWs = 'wsHttpBinding'
Set @BindingBasicName = 'basicBinding'
Set @BindingWebName = 'webBinding'
Set @BindingWsName = 'wsBinding'
print '<?xml version="1.0" encoding="utf-8"?>'
print '<configuration>'
print ' <connectionStrings>'
print ' <!--Conexion-->'
print ' <!--<add name="Integra.Services.Data.QProcess" connectionString="Data Source=201.144.205.162,1434;Initial Catalog=IntegraSoluglob; User ID=soluglob;Password=s0lugl0b1nt3gr4" providerName="System.Data.SqlClient" />'
print ' <add name="Integra.Services.Data.SoluglobChecador" connectionString="Data Source=192.168.68.252,1434;Initial Catalog=Checador; User ID=integra;Password=integra2017" providerName="System.Data.SqlClient" />'
print ' <add name="Integra.Services.Data.SoluglobAdministrativo" connectionString="Data Source=192.168.68.7;Initial Catalog=DB_Nomina; User ID=integra;Password=integra2017" providerName="System.Data.SqlClient" />-->'
print ' </connectionStrings>'
print ''
print '<appSettings>'
print ' <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />'
print '</appSettings>'
print ''
print '<system.web>'
print ' <compilation debug="true" targetFramework="4.5" />'
print ' <httpRuntime targetFramework="4.5" maxRequestLength="10240" executionTimeout="600" />'
print '</system.web>'
print ''
print '<system.serviceModel>'
print ' <bindings>'
print ' <'+ @BindingBasic +'>'
print ' <binding name="'+ @BindingBasicName +'" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' <security mode="None" />'
print ' </binding>'
print ' </' + @BindingBasic + '>'
print ' <'+ @BindingWeb +'>'
print ' <binding name ="'+ @BindingWebName +'" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' </binding>'
print ' </'+ @BindingWeb +'>'
print ' <'+ @BindingWs +'>'
print ' <binding name ="'+ @BindingWsName +'" maxReceivedMessageSize="2147483647" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00">'
print ' <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />'
print ' </binding>'
print ' </'+ @BindingWs +'>'
print ' </bindings>'
print ' <services>'
print ' <service name="' + @NameSpace + '.' + @NameService + '.' + @Marker + '" behaviorConfiguration="' + @BehaviorName +'">'
print ' <endpoint address="" binding="basicHttpBinding" contract="' + @NameSpace + '.' + @NameService + '.' + @Marker + '">'
print ' <identity>'
print ' <dns value="localhost"/>'
print ' </identity>'
print ' </endpoint>'
print ' </service>'
print ' </services>'
print ' <behaviors>'
print ' <serviceBehaviors>'
print ' <behavior name="' + @BehaviorName +'">'
print ' <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />'
print ' <serviceDebug includeExceptionDetailInFaults="true"/>'
print ' <bufferedReceive maxPendingMessagesPerChannel="2147483647" />'
print ' </behavior>'
print ' </serviceBehaviors>'
print ' </behaviors>'
print ' <protocolMapping>'
print ' <add binding="'+ @BindingBasic +'" scheme="https" />'
print ' </protocolMapping>'
print ' <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />'
print '</system.serviceModel>'
Genera Entidad
SET nocount ON
SET CONCAT_NULL_YIELDS_NULL off;
Declare @TableName varchar(250);
Declare @Entity varchar(max);
Declare @Propertys varchar(max);
Declare @Property varchar(max);
Declare @Types varchar(max);
Declare @Type varchar(max);
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @Columns varchar(max);
Declare @RowData varchar(max);
Declare @RowDataAux varchar(max);
Declare @LenRowData int;
set @TableName = 'H_laboral';
set @i = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable from @TableAux where id = @i;
if(@Columntype = 'varchar')
Begin
Set @Columntype = 'string'
End
if(@Columntype = 'datetime')
Begin
Set @Columntype = 'DateTime'
End
if(@Columntype = 'numeric')
Begin
Set @Columntype = 'Double'
End
if(@Columntype = 'bit')
Begin
Set @Columntype = 'bool'
End
if(@Columntype = 'smallint')
Begin
Set @Columntype = 'Int16'
End
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='string')
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
end
end
else
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype + '?'
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
end
end
set @Types = @Types + @Type + CHAR(13)
set @Propertys = @Propertys + @Property + CHAR(13)
set @Entity = @Entity + ' ' + 'public ' + @Type + ' ' + @Property + ' { get; set; }' + CHAR(13) + CHAR(13)
set @i = @i + 1;
end;
--print @Types --Tipos de Dato
--print @Propertys -- Propiedades
print 'public class ' + @TableName
print '{'
print @Entity + '}'
SET CONCAT_NULL_YIELDS_NULL off;
Declare @TableName varchar(250);
Declare @Entity varchar(max);
Declare @Propertys varchar(max);
Declare @Property varchar(max);
Declare @Types varchar(max);
Declare @Type varchar(max);
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @Columns varchar(max);
Declare @RowData varchar(max);
Declare @RowDataAux varchar(max);
Declare @LenRowData int;
set @TableName = 'H_laboral';
set @i = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable from @TableAux where id = @i;
if(@Columntype = 'varchar')
Begin
Set @Columntype = 'string'
End
if(@Columntype = 'datetime')
Begin
Set @Columntype = 'DateTime'
End
if(@Columntype = 'numeric')
Begin
Set @Columntype = 'Double'
End
if(@Columntype = 'bit')
Begin
Set @Columntype = 'bool'
End
if(@Columntype = 'smallint')
Begin
Set @Columntype = 'Int16'
End
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='string')
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
end
end
else
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype + '?'
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
end
end
set @Types = @Types + @Type + CHAR(13)
set @Propertys = @Propertys + @Property + CHAR(13)
set @Entity = @Entity + ' ' + 'public ' + @Type + ' ' + @Property + ' { get; set; }' + CHAR(13) + CHAR(13)
set @i = @i + 1;
end;
--print @Types --Tipos de Dato
--print @Propertys -- Propiedades
print 'public class ' + @TableName
print '{'
print @Entity + '}'
SPLIT Generico
DECLARE @Cadena varchar(max) = 'ESTA,CADENA,ES,DE,EJEMPLO'
DECLARE @Limite char(1) = ','
DECLARE @Indice INT
DECLARE @AUXILIAR varchar(max)
DECLARE @Resultado table (Resultado varchar(max))
SELECT @Indice = 1
WHILE @Indice <> 0
BEGIN
SELECT @Indice = CHARINDEX(@Limite, @Cadena)
IF @Indice <> 0
SELECT @AUXILIAR = LEFT(@Cadena,@Indice - 1)
ELSE
SELECT @AUXILIAR = @Cadena
Insert Into @Resultado SELECT @AUXILIAR
SELECT @Cadena = RIGHT(@Cadena, LEN(@Cadena) - @Indice)
IF LEN(@Cadena) = 0 BREAK
END
SELECT * FROM @Resultado
DECLARE @Limite char(1) = ','
DECLARE @Indice INT
DECLARE @AUXILIAR varchar(max)
DECLARE @Resultado table (Resultado varchar(max))
SELECT @Indice = 1
WHILE @Indice <> 0
BEGIN
SELECT @Indice = CHARINDEX(@Limite, @Cadena)
IF @Indice <> 0
SELECT @AUXILIAR = LEFT(@Cadena,@Indice - 1)
ELSE
SELECT @AUXILIAR = @Cadena
Insert Into @Resultado SELECT @AUXILIAR
SELECT @Cadena = RIGHT(@Cadena, LEN(@Cadena) - @Indice)
IF LEN(@Cadena) = 0 BREAK
END
SELECT * FROM @Resultado
Genera Storeds Procedures CRUD
SET nocount ON
SET CONCAT_NULL_YIELDS_NULL off;
--*********************************************
--*****Se declaran las variables generales*****
--*********************************************
Declare @TableName varchar(250);
Declare @Value varchar(max);
Declare @Values varchar(max);
Declare @Conditions varchar(max);
--*******************************************
--*****Se declaran variables especificas*****
--*******************************************
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @tamanio varchar(5);
Declare @Param varchar(max);
Declare @ParamUpdate varchar(max);
Declare @Params varchar(max);
Declare @ParamsUpdate varchar(max);
Declare @Columns varchar(max);
--***************************************************************************
--*****Se declaran variables para obtener campos Primary Key de la tabla*****
--***************************************************************************
Declare @TablePK table(id int identity(1,1), columnnamePK varchar(250));
Declare @iPK int;
Declare @CountPK int;
Declare @ColumnnamePK varchar(250);
Declare @ColumntypePK varchar(250);
Declare @tamanioPK varchar(5);
Declare @ParamPK varchar(max);
Declare @ParamsPK varchar(max);
Declare @ColumnsPK varchar(max);
set @TableName = 'H_laboral';
set @i = 1;
set @iPK = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable, @tamanio = tamanio from @TableAux where id = @i;
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='varchar')
begin
if(@isnullable='YES')
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param = '@' + @Columnname + ' '+ @Columntype +'(' +@tamanio +')' +' = Null'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param = CHAR(13) + ',@' + @Columnname + ' '+ @Columntype +'(' +@tamanio +')' +' = Null'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
else
begin
if @i =1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' ' + @Columntype +'(' +@tamanio +')'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) +',@' + @Columnname + ' ' + @Columntype +'(' +@tamanio +')'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
end
else
begin
if(@isnullable='YES')
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' '+ @Columntype +' = Null'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) + ',@' + @Columnname + ' '+ @Columntype +' = Null'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
else
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' ' + @Columntype
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) + ',@' + @Columnname + ' ' + @Columntype
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
end
set @Values = @Values + @Value
set @ParamsUpdate = @ParamsUpdate + @ParamUpdate
set @Params = @Params + @Param
set @i = @i + 1;
end;
--****************************************************
--*****Se obtienen campos Primary Key de la tabla*****
--****************************************************
Insert into @TablePK
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 AND TABLE_NAME = @TableName --AND TABLE_SCHEMA = 'Schema'
set @CountPK = @@ROWCOUNT;
--SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 AND TABLE_NAME = 'H_Laboral'
while (@iPK<=@CountPK)
Begin
select @ColumnnamePK = columnnamePK
from @TablePK where id = @iPK;
Set @tamanioPK = (select character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName and COLUMN_NAME = @ColumnnamePK)
Set @ColumntypePK = (select data_type from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName and COLUMN_NAME = @ColumnnamePK)
If(@ColumntypePK='varchar')
begin
if @iPK = 1
begin
set @ColumnsPK = @ColumnsPK + @ColumnnamePK
set @ParamPK = '@' + @ColumnnamePK + ' ' + @ColumntypePK +'(' + @tamanioPK +')'
end
else
begin
set @ColumnsPK = @ColumnsPK + CHAR(13) + ',' + @ColumnnamePK
set @ParamPK = CHAR(13) + ',@' + @ColumnnamePK + ' ' + @ColumntypePK +'(' + @tamanioPK +')'
end
end;
Else
begin
if @iPK = 1
begin
set @ColumnsPK = @ColumnsPK + @ColumnnamePK
set @ParamPK = '@' + @ColumnnamePK + ' ' + @ColumntypePK
end
else
begin
set @ColumnsPK = @ColumnsPK + CHAR(13) + ',' + @ColumnnamePK
set @ParamPK = CHAR(13) + ',@' + @ColumnnamePK + ' ' + @ColumntypePK
end
end
set @Conditions = @Conditions + CHAR(13) + @ColumnnamePK + ' = ' + '@' + @ColumnnamePK
set @ParamsPK = @ParamsPK + @ParamPK
set @iPK = @iPK + 1;
End
--print @Params;
--print @ParamsUpdate
--print @ParamsPK
--print @Conditions
--print @@Values
print ' '
print '--Insert'
print 'Create Procedure prc_' + @TableName + '_Insert'
print @Params
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'insert into ' + @TableName
print '(' + @Columns + ')'
print 'values('
print @Values
print ')'
print 'select scope_identity();'
print 'END'
-------------------------------------------------------------------------
print ' '
print '--GetOne'
print 'Create Procedure prc_' + @TableName + '_GetOne'
print @ParamsPK
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'select ' + @Columns
print 'from ' + @TableName + ' with(nolock)'
print 'where ' + @Conditions
print 'END'
-------------------------------------------------------------------------
print ' '
print '--GetAll'
print 'Create Procedure prc_' + @TableName + '_GetAll'
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'select ' + @Columns
print 'from ' + @TableName + ' with(nolock)'
print 'END'
-------------------------------------------------------------------------
print ' '
print '--Update'
print 'Create Procedure prc_' + @TableName + '_Update'
print @Params
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'update ' + @TableName + ' set'
print @ParamsUpdate
print 'where ' + @Conditions
print 'END'
-------------------------------------------------------------------------
print ' '
print '--Delete'
print 'Create Procedure prc_' + @TableName + '_Drop'
print @ParamsPK
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'delete from ' + @TableName
print 'where ' + @Conditions
-------------------------------------------------------------------------
--select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='modulo'
SET CONCAT_NULL_YIELDS_NULL off;
--*********************************************
--*****Se declaran las variables generales*****
--*********************************************
Declare @TableName varchar(250);
Declare @Value varchar(max);
Declare @Values varchar(max);
Declare @Conditions varchar(max);
--*******************************************
--*****Se declaran variables especificas*****
--*******************************************
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @tamanio varchar(5);
Declare @Param varchar(max);
Declare @ParamUpdate varchar(max);
Declare @Params varchar(max);
Declare @ParamsUpdate varchar(max);
Declare @Columns varchar(max);
--***************************************************************************
--*****Se declaran variables para obtener campos Primary Key de la tabla*****
--***************************************************************************
Declare @TablePK table(id int identity(1,1), columnnamePK varchar(250));
Declare @iPK int;
Declare @CountPK int;
Declare @ColumnnamePK varchar(250);
Declare @ColumntypePK varchar(250);
Declare @tamanioPK varchar(5);
Declare @ParamPK varchar(max);
Declare @ParamsPK varchar(max);
Declare @ColumnsPK varchar(max);
set @TableName = 'H_laboral';
set @i = 1;
set @iPK = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable, @tamanio = tamanio from @TableAux where id = @i;
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='varchar')
begin
if(@isnullable='YES')
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param = '@' + @Columnname + ' '+ @Columntype +'(' +@tamanio +')' +' = Null'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param = CHAR(13) + ',@' + @Columnname + ' '+ @Columntype +'(' +@tamanio +')' +' = Null'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
else
begin
if @i =1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' ' + @Columntype +'(' +@tamanio +')'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) +',@' + @Columnname + ' ' + @Columntype +'(' +@tamanio +')'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
end
else
begin
if(@isnullable='YES')
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' '+ @Columntype +' = Null'
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) + ',@' + @Columnname + ' '+ @Columntype +' = Null'
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
else
begin
if @i = 1
begin
set @Value = '@' + @Columnname
set @Param= '@' + @Columnname + ' ' + @Columntype
set @ParamUpdate = @Columnname + ' = ' + '@' + @Columnname
end
else
begin
set @Value = CHAR(13) + '@' + @Columnname
set @Param= CHAR(13) + ',@' + @Columnname + ' ' + @Columntype
set @ParamUpdate = CHAR(13) + ',' + @Columnname + ' = ' + '@' + @Columnname
end
end
end
set @Values = @Values + @Value
set @ParamsUpdate = @ParamsUpdate + @ParamUpdate
set @Params = @Params + @Param
set @i = @i + 1;
end;
--****************************************************
--*****Se obtienen campos Primary Key de la tabla*****
--****************************************************
Insert into @TablePK
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 AND TABLE_NAME = @TableName --AND TABLE_SCHEMA = 'Schema'
set @CountPK = @@ROWCOUNT;
--SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 AND TABLE_NAME = 'H_Laboral'
while (@iPK<=@CountPK)
Begin
select @ColumnnamePK = columnnamePK
from @TablePK where id = @iPK;
Set @tamanioPK = (select character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName and COLUMN_NAME = @ColumnnamePK)
Set @ColumntypePK = (select data_type from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName and COLUMN_NAME = @ColumnnamePK)
If(@ColumntypePK='varchar')
begin
if @iPK = 1
begin
set @ColumnsPK = @ColumnsPK + @ColumnnamePK
set @ParamPK = '@' + @ColumnnamePK + ' ' + @ColumntypePK +'(' + @tamanioPK +')'
end
else
begin
set @ColumnsPK = @ColumnsPK + CHAR(13) + ',' + @ColumnnamePK
set @ParamPK = CHAR(13) + ',@' + @ColumnnamePK + ' ' + @ColumntypePK +'(' + @tamanioPK +')'
end
end;
Else
begin
if @iPK = 1
begin
set @ColumnsPK = @ColumnsPK + @ColumnnamePK
set @ParamPK = '@' + @ColumnnamePK + ' ' + @ColumntypePK
end
else
begin
set @ColumnsPK = @ColumnsPK + CHAR(13) + ',' + @ColumnnamePK
set @ParamPK = CHAR(13) + ',@' + @ColumnnamePK + ' ' + @ColumntypePK
end
end
set @Conditions = @Conditions + CHAR(13) + @ColumnnamePK + ' = ' + '@' + @ColumnnamePK
set @ParamsPK = @ParamsPK + @ParamPK
set @iPK = @iPK + 1;
End
--print @Params;
--print @ParamsUpdate
--print @ParamsPK
--print @Conditions
--print @@Values
print ' '
print '--Insert'
print 'Create Procedure prc_' + @TableName + '_Insert'
print @Params
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'insert into ' + @TableName
print '(' + @Columns + ')'
print 'values('
print @Values
print ')'
print 'select scope_identity();'
print 'END'
-------------------------------------------------------------------------
print ' '
print '--GetOne'
print 'Create Procedure prc_' + @TableName + '_GetOne'
print @ParamsPK
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'select ' + @Columns
print 'from ' + @TableName + ' with(nolock)'
print 'where ' + @Conditions
print 'END'
-------------------------------------------------------------------------
print ' '
print '--GetAll'
print 'Create Procedure prc_' + @TableName + '_GetAll'
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'select ' + @Columns
print 'from ' + @TableName + ' with(nolock)'
print 'END'
-------------------------------------------------------------------------
print ' '
print '--Update'
print 'Create Procedure prc_' + @TableName + '_Update'
print @Params
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'update ' + @TableName + ' set'
print @ParamsUpdate
print 'where ' + @Conditions
print 'END'
-------------------------------------------------------------------------
print ' '
print '--Delete'
print 'Create Procedure prc_' + @TableName + '_Drop'
print @ParamsPK
print 'as'
print 'BEGIN'
print 'SET NOCOUNT ON'
print 'delete from ' + @TableName
print 'where ' + @Conditions
-------------------------------------------------------------------------
--select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='modulo'
Genera Singleton
Declare @Proyecto varchar(50)
Declare @Entity varchar(50)
Declare @Clase varchar(50)
Declare @Capa varchar(50)
Set @Proyecto='Kaizen'
Set @Entity='Empleado'
Set @Clase='Connection'
Set @Capa='Data'
Declare @NameSpace varchar(250);
Declare @i int;
Set @NameSpace='WebService';
Set @i=1;
print 'using System;';
print 'using System.Collections.Generic;'
print 'using System.Data.SqlClient;'
print 'using System.Linq;'
print 'using System.Text;'
print 'using System.Threading.Tasks;'
print ''
print 'namespace ' + @NameSpace + '.' + @Capa + '.' + @Entity;
print '{'
print ' public class ' + @Clase
print ' {'
print ' private SqlConnection sqlConnection = null;'
print ' private SqlCommand sqlCommand = null;'
print ' private SqlDataReader sqlReader = null;'
print ' private object sqlScalar = null;'
print ' private static ' + @Clase + ' instance = null;'
print ''
print ' public static ' + @Clase + ' Instance'
print ' {'
print ' get'
print ' {'
print ' if (instance == null)'
print ' {'
print ' instance = new ' + @Clase + '();'
print ' }'
print ' else'
print ' {'
print ' if (instance.sqlConnection.State.Equals(System.Data.ConnectionState.Closed))'
print ' {'
print ' instance.sqlConnection.Open();'
print ' }'
print ' }'
print ' return instance;'
print ' }'
print ' }'
print ''
print ' public ' + @Clase + '()'
print ' {'
print ' if (sqlConnection == null)'
print ' {'
print ' sqlConnection = new SqlConnection();'
print ' sqlConnection.ConnectionString = ConnectionString();'
print ' sqlConnection.Open();'
print ' }'
print ' else'
print ' {'
print ' if (sqlConnection.State.Equals(System.Data.ConnectionState.Closed))'
print ' {'
print ' sqlConnection.Open();'
print ' }'
print ' }'
print ' }'
print ''
print ' private string ConnectionString()'
print ' {'
print ' string connectionstring = string.Empty;'
print ' connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["Integra.Services.Data.QProcess"].ToString();'
print ' return connectionstring;'
print ' }'
print ''
print ' public SqlDataReader ExcuteSP(string nameProcedure, List<SqlParameter> parameters)'
print ' {'
print ' sqlCommand = new SqlCommand();'
print ' sqlCommand.Connection = this.sqlConnection;'
print ' sqlCommand.CommandTimeout = 36000;//3600;'
print ' sqlCommand.CommandText = nameProcedure;'
print ''
print ' if (parameters != null && parameters.Count > 0)'
print ' {'
print ' sqlCommand.Parameters.AddRange(parameters.ToArray());'
print ' }'
print ''
print ' sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;'
print ' sqlReader = sqlCommand.ExecuteReader();'
print ' return sqlReader;'
print ' } '
print ''
print ' public object ExcuteScalar(string nameProcedure, List<SqlParameter> parameters)'
print ' {'
print ' sqlCommand = new SqlCommand();'
print ' sqlCommand.Connection = this.sqlConnection;'
print ' sqlCommand.CommandTimeout = 3600;'
print ' sqlCommand.CommandText = nameProcedure;'
print ''
print ' if (parameters != null && parameters.Count > 0)'
print ' {'
print ' sqlCommand.Parameters.AddRange(parameters.ToArray());'
print ' }'
print ' sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;'
print ' sqlScalar = sqlCommand.ExecuteScalar();'
print ''
print ' return sqlScalar;'
print ' }'
print ' }'
print '}'
print ''
print ''
print '////Colocar esto al inicio de cada Data para usar la clase connection'
print '//List<Entities.'+ @Proyecto+'.'+@Entity+'> ' + lower(@Entity)+'Collection = null;'
print '//Entities.'+ @Proyecto+'.'+@Entity+' ' + lower(@Entity)+' = null;'
print '//SqlDataReader dataReader = null;'
print '//'
print '//public ' + @Clase + ' connection = null;'
print '//'
print '//public '+ @Entity +'()'
print '//{'
print '// this.connection = ' + @Clase + '.Instance;'
print '//}'
print '//'
print '//public '+ @Entity +'(bool isTransaction)'
print '//{'
print '// this.connection = new ' + @Clase + '();'
print '//}'
print '//'
print '//public '+ @Entity +'(' + @Clase + ' connection)'
print '//{'
print '// this.connection = connection;'
print '//}'
Declare @Entity varchar(50)
Declare @Clase varchar(50)
Declare @Capa varchar(50)
Set @Proyecto='Kaizen'
Set @Entity='Empleado'
Set @Clase='Connection'
Set @Capa='Data'
Declare @NameSpace varchar(250);
Declare @i int;
Set @NameSpace='WebService';
Set @i=1;
print 'using System;';
print 'using System.Collections.Generic;'
print 'using System.Data.SqlClient;'
print 'using System.Linq;'
print 'using System.Text;'
print 'using System.Threading.Tasks;'
print ''
print 'namespace ' + @NameSpace + '.' + @Capa + '.' + @Entity;
print '{'
print ' public class ' + @Clase
print ' {'
print ' private SqlConnection sqlConnection = null;'
print ' private SqlCommand sqlCommand = null;'
print ' private SqlDataReader sqlReader = null;'
print ' private object sqlScalar = null;'
print ' private static ' + @Clase + ' instance = null;'
print ''
print ' public static ' + @Clase + ' Instance'
print ' {'
print ' get'
print ' {'
print ' if (instance == null)'
print ' {'
print ' instance = new ' + @Clase + '();'
print ' }'
print ' else'
print ' {'
print ' if (instance.sqlConnection.State.Equals(System.Data.ConnectionState.Closed))'
print ' {'
print ' instance.sqlConnection.Open();'
print ' }'
print ' }'
print ' return instance;'
print ' }'
print ' }'
print ''
print ' public ' + @Clase + '()'
print ' {'
print ' if (sqlConnection == null)'
print ' {'
print ' sqlConnection = new SqlConnection();'
print ' sqlConnection.ConnectionString = ConnectionString();'
print ' sqlConnection.Open();'
print ' }'
print ' else'
print ' {'
print ' if (sqlConnection.State.Equals(System.Data.ConnectionState.Closed))'
print ' {'
print ' sqlConnection.Open();'
print ' }'
print ' }'
print ' }'
print ''
print ' private string ConnectionString()'
print ' {'
print ' string connectionstring = string.Empty;'
print ' connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["Integra.Services.Data.QProcess"].ToString();'
print ' return connectionstring;'
print ' }'
print ''
print ' public SqlDataReader ExcuteSP(string nameProcedure, List<SqlParameter> parameters)'
print ' {'
print ' sqlCommand = new SqlCommand();'
print ' sqlCommand.Connection = this.sqlConnection;'
print ' sqlCommand.CommandTimeout = 36000;//3600;'
print ' sqlCommand.CommandText = nameProcedure;'
print ''
print ' if (parameters != null && parameters.Count > 0)'
print ' {'
print ' sqlCommand.Parameters.AddRange(parameters.ToArray());'
print ' }'
print ''
print ' sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;'
print ' sqlReader = sqlCommand.ExecuteReader();'
print ' return sqlReader;'
print ' } '
print ''
print ' public object ExcuteScalar(string nameProcedure, List<SqlParameter> parameters)'
print ' {'
print ' sqlCommand = new SqlCommand();'
print ' sqlCommand.Connection = this.sqlConnection;'
print ' sqlCommand.CommandTimeout = 3600;'
print ' sqlCommand.CommandText = nameProcedure;'
print ''
print ' if (parameters != null && parameters.Count > 0)'
print ' {'
print ' sqlCommand.Parameters.AddRange(parameters.ToArray());'
print ' }'
print ' sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;'
print ' sqlScalar = sqlCommand.ExecuteScalar();'
print ''
print ' return sqlScalar;'
print ' }'
print ' }'
print '}'
print ''
print ''
print '////Colocar esto al inicio de cada Data para usar la clase connection'
print '//List<Entities.'+ @Proyecto+'.'+@Entity+'> ' + lower(@Entity)+'Collection = null;'
print '//Entities.'+ @Proyecto+'.'+@Entity+' ' + lower(@Entity)+' = null;'
print '//SqlDataReader dataReader = null;'
print '//'
print '//public ' + @Clase + ' connection = null;'
print '//'
print '//public '+ @Entity +'()'
print '//{'
print '// this.connection = ' + @Clase + '.Instance;'
print '//}'
print '//'
print '//public '+ @Entity +'(bool isTransaction)'
print '//{'
print '// this.connection = new ' + @Clase + '();'
print '//}'
print '//'
print '//public '+ @Entity +'(' + @Clase + ' connection)'
print '//{'
print '// this.connection = connection;'
print '//}'
Genera Mapeo
SET nocount ON
SET CONCAT_NULL_YIELDS_NULL off;
Declare @TableName varchar(250);
Declare @Entity varchar(max);
Declare @Propertys varchar(max);
Declare @Property varchar(max);
Declare @Types varchar(max);
Declare @Type varchar(max);
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @Columns varchar(max);
Declare @RowData varchar(max);
Declare @RowDataAux varchar(max);
Declare @LenRowData int;
set @TableName = 'H_laboral';
set @i = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable from @TableAux where id = @i;
if(@Columntype = 'varchar')
Begin
Set @Columntype = 'string'
End
if(@Columntype = 'datetime')
Begin
Set @Columntype = 'DateTime'
End
if(@Columntype = 'numeric')
Begin
Set @Columntype = 'Double'
End
if(@Columntype = 'bit')
Begin
Set @Columntype = 'bool'
End
if(@Columntype = 'smallint')
Begin
Set @Columntype = 'Int16'
End
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='string')
begin
set @Property = @Columnname
set @Type = @Columntype
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? null : dataReader["' + @Property + '"].ToString();' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? null : dataReader["' + @Property + '"].ToString();' + CHAR(13)
end
end
else
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype + '?'
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + SUBSTRING(@Type, 1, Len(@Type) - 1) + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + SUBSTRING(@Type, 1, Len(@Type) - 1) + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + @Type + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + @Type + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
end
end
--set @Types = @Types + @Type + CHAR(13)
--set @Propertys = @Propertys + @Property + CHAR(13)
set @i = @i + 1;
end;
--print @Types
--print @Propertys
print LOWER(@TableName) + ' = new '
print @RowData
print @RowDataAux
SET CONCAT_NULL_YIELDS_NULL off;
Declare @TableName varchar(250);
Declare @Entity varchar(max);
Declare @Propertys varchar(max);
Declare @Property varchar(max);
Declare @Types varchar(max);
Declare @Type varchar(max);
Declare @TableAux table(id int identity(1,1), columnname varchar(250) , typecolumn varchar(250), isnullable varchar(5),tamanio varchar(5) );
Declare @i int;
Declare @Count int;
Declare @Columnname varchar(250);
Declare @Columntype varchar(250);
Declare @isnullable varchar(5);
Declare @Columns varchar(max);
Declare @RowData varchar(max);
Declare @RowDataAux varchar(max);
Declare @LenRowData int;
set @TableName = 'H_laboral';
set @i = 1;
Insert into @TableAux
select column_name,data_type,is_nullable,character_maximum_length from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName;
set @Count = @@ROWCOUNT;
--Select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'H_Laboral';
while (@i <= @Count)
begin
select @Columnname = columnname, @Columntype = typecolumn, @isnullable = isnullable from @TableAux where id = @i;
if(@Columntype = 'varchar')
Begin
Set @Columntype = 'string'
End
if(@Columntype = 'datetime')
Begin
Set @Columntype = 'DateTime'
End
if(@Columntype = 'numeric')
Begin
Set @Columntype = 'Double'
End
if(@Columntype = 'bit')
Begin
Set @Columntype = 'bool'
End
if(@Columntype = 'smallint')
Begin
Set @Columntype = 'Int16'
End
if @i = 1
begin
set @Columns = @Columns + @Columnname
end
else
begin
set @Columns = @Columns + CHAR(13) + ',' + @Columnname
end
if(@Columntype='string')
begin
set @Property = @Columnname
set @Type = @Columntype
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? null : dataReader["' + @Property + '"].ToString();' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? null : dataReader["' + @Property + '"].ToString();' + CHAR(13)
end
end
else
begin
if(@isnullable='YES')
begin
set @Property = @Columnname
set @Type = @Columntype + '?'
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + SUBSTRING(@Type, 1, Len(@Type) - 1) + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + SUBSTRING(@Type, 1, Len(@Type) - 1) + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
end
else
begin
set @Property = @Columnname
set @Type = @Columntype
set @LenRowData = (SELECT DATALENGTH(@RowData))
if @LenRowData >= 7900
begin
--Esta variable solo se llena si la la variable @RowData alcanza su limite de carcateres
set @RowDataAux = 'CONTINUA AQUI...' + CHAR(13) + @RowDataAux + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + @Type + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
else
begin
set @RowData = @RowData + LOWER(@TableName) + '.' + @Property + ' = dataReader.IsDBNull(dataReader.GetOrdinal("' + @Property + '")) ? default(' + @Type + ') : ' + @Type + '.Parse(dataReader["' + @Property + '"].ToString());' + CHAR(13)
end
end
end
--set @Types = @Types + @Type + CHAR(13)
--set @Propertys = @Propertys + @Property + CHAR(13)
set @i = @i + 1;
end;
--print @Types
--print @Propertys
print LOWER(@TableName) + ' = new '
print @RowData
print @RowDataAux
jueves, 12 de enero de 2017
Restaurar Mysql remotamente
entrar a la linea de comandos. en windows
mysql -h hostname -u username -ppaswword schemma< ruta.sql
mysql -h hostname -u username -ppaswword schemma< ruta.sql
jueves, 24 de noviembre de 2016
No permite actualizar registros Mysql - Resuelto.
FECHA | QUERY | MENSAJE |
17:24:04 | Update NombreTabla SET campo1 = NULL WHERE campo2 = 'ejemplo' | Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. |
se resuelve con este comando.
SET SQL_SAFE_UPDATES = 0;
lunes, 8 de agosto de 2016
viernes, 5 de agosto de 2016
Migracion de paginación PHP y MYSQL a SQL SERVER
EJEMPLO CON MYSQL
SELECT * FROM sys.databases
ORDER BY name
LIMIT 50,5
retorna 5 registros apartir del registro 50
EJEMPLO MIGRADO A SQL SERVER
SELECT * FROM sys.databases
ORDER BY name
OFFSET 50 ROWS -- definimos apartir de que registro queremos que inicie
FETCH NEXT 5 ROWS ONLY -- le indicamos cuantos registros va a retornar
retorna igualmente 5 registros apartir del registro 50
jueves, 4 de agosto de 2016
JSON VIEWER NOTEPAD++
JSON VIEWER herramienta para acelerar el entendimiento y busqueda de errores en la generacion de tus objetos tipo JSON
debes de tener instalado Notepad++ y seguir los pasos de la siguiente URL.
https://sourceforge.net/projects/nppjsonviewer/
debes de tener instalado Notepad++ y seguir los pasos de la siguiente URL.
https://sourceforge.net/projects/nppjsonviewer/
Suscribirse a:
Entradas (Atom)