lunes, 9 de septiembre de 2019

Dev

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.


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>'

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 + '}'

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

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'

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 '//}'

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


Cambiar lenguaje SQL Server

select @@language
sp_helplanguage
SET LANGUAGE español;

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

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;

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/