domingo, 19 de junio de 2022

SQL Server Order by random, Ordenamiento aleatorio

 Order by random sql

Requiero ordenar una consulta de manera aleatoria, es decir que siempre me regrese un resultado diferente:











La función NEWIDdevuelve un uniqueidentifiertipo de datos que representa un GUID de 16 bytes. Por lo tanto, cada nuevo valor devuelto por la funciónNEWID será prácticamente único.


1
2
3
4
SELECT
    NombreId
FROM nombre
ORDER BY NEWID()

jueves, 16 de junio de 2022

Cannot truncate table 'XXXX' because it is being referenced by a FOREIGN KEY constraint.

 Cannot truncate table 'esquema.tutabla' because it is being referenced by a FOREIGN KEY constraint

Error:

Msg 4712, Level 16, State 1, Line 1

Cannot truncate table 'esquema.tutabla' because it is being referenced by a FOREIGN KEY constraint.


Solucion, primero tienes que eliminar las dependecias hijas de la tabla, despues ejecuta el siguiente script:

unicamente tienes que llenar el esquema y el nombre de tu tabla a truncar

DECLARE @Debug bit = 0;

-- List of tables to truncate
select
    SchemaName, Name
into #tables
from (values 
    ('esquema''tutabla')

as X(SchemaName, Name)


BEGIN TRANSACTION TruncateTrans;

with foreignKeys AS (
     SELECT 
        SCHEMA_NAME(fk.schema_idas SchemaName
        ,fk.Name as ConstraintName
        ,OBJECT_NAME(fk.parent_object_idas TableName
        ,SCHEMA_NAME(t.SCHEMA_IDas ReferencedSchemaName
        ,OBJECT_NAME(fk.referenced_object_idas ReferencedTableName
        ,fc.constraint_column_id
        ,COL_NAME(fk.parent_object_idfc.parent_column_idAS ColumnName
        ,COL_NAME(fk.referenced_object_idfc.referenced_column_idas ReferencedColumnName
        ,fk.delete_referential_action_desc
        ,fk.update_referential_action_desc
    FROM sys.foreign_keys AS fk
        JOIN sys.foreign_key_columns AS fc
            ON fk.object_id = fc.constraint_object_id
        JOIN #tables tbl 
            ON OBJECT_NAME(fc.referenced_object_id= tbl.Name
        JOIN sys.tables t on OBJECT_NAME(t.object_id= tbl.Name 
            and SCHEMA_NAME(t.schema_id= tbl.SchemaName
            and t.OBJECT_ID = fc.referenced_object_id
)



select
    quotename(fk.ConstraintNameAS ConstraintName
    ,quotename(fk.SchemaName+ '.' + quotename(fk.TableNameAS TableName
    ,quotename(fk.ReferencedSchemaName+ '.' + quotename(fk.ReferencedTableNameAS ReferencedTableName
    ,replace(fk.delete_referential_action_desc'_'' 'AS DeleteAction
    ,replace(fk.update_referential_action_desc'_'' 'AS UpdateAction
    ,STUFF((
        SELECT ',' + quotename(fk2.ColumnName)
        FROM foreignKeys fk2 
        WHERE fk2.ConstraintName = fk.ConstraintName and fk2.SchemaName = fk.SchemaName
        ORDER BY fk2.constraint_column_id
        FOR XML PATH('')
    ),1,1,''AS ColumnNames
    ,STUFF((
        SELECT ',' + quotename(fk2.ReferencedColumnName)
        FROM foreignKeys fk2 
        WHERE fk2.ConstraintName = fk.ConstraintName and fk2.SchemaName = fk.SchemaName
        ORDER BY fk2.constraint_column_id
        FOR XML PATH('')
    ),1,1,''AS ReferencedColumnNames
into #FKs
from foreignKeys fk
GROUP BY fk.SchemaNamefk.ConstraintNamefk.TableNamefk.ReferencedSchemaNamefk.ReferencedTableNamefk.delete_referential_action_descfk.update_referential_action_desc



-- Drop FKs
select 
    identity(int,1,1as ID,
    'ALTER TABLE ' + fk.TableName + ' DROP CONSTRAINT ' + fk.ConstraintName AS script
into #scripts
from #FKs fk

-- Truncate 
insert into #scripts
select distinct 
    'TRUNCATE TABLE ' + quotename(tbl.SchemaName+ '.' + quotename(tbl.NameAS script
from #tables tbl

-- Recreate
insert into #scripts
select 
    'ALTER TABLE ' + fk.TableName + 
    ' WITH CHECK ADD CONSTRAINT ' + fk.ConstraintName + 
    ' FOREIGN KEY ('+ fk.ColumnNames +')' + 
    ' REFERENCES ' + fk.ReferencedTableName +' ('+ fk.ReferencedColumnNames +')' +
    ' ON DELETE ' + fk.DeleteAction COLLATE Latin1_General_CI_AS_KS_WS + ' ON UPDATE ' + fk.UpdateAction COLLATE Latin1_General_CI_AS_KS_WS AS script
from #FKs fk


DECLARE @script nvarchar(MAX);

DECLARE curScripts CURSOR FOR 
    select script
    from #scripts
    order by ID

OPEN curScripts

WHILE 1=1 BEGIN
    FETCH NEXT FROM curScripts INTO @script
    IF @@FETCH_STATUS != 0 BREAK;

    print @script;
    IF @Debug = 0
        EXEC (@script);
END
CLOSE curScripts
DEALLOCATE curScripts


drop table #scripts
drop table #FKs
drop table #tables


COMMIT TRANSACTION TruncateTrans;

domingo, 12 de junio de 2022

Como agregar estilo de boostrap a asp:DataGrid

 

<asp:GridView ID="GridView1" class="table table-bordered table-condensed table-responsive table-hover " runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="Id" HeaderText="Id" />
        <asp:BoundField DataField="Name" HeaderText="Name" />
        </Columns>
</asp:GridView>

lunes, 6 de junio de 2022

Renombrar COLUMNA SQL server

Sintaxis 

EXEC sp_rename 'esquema.tabla.columna', 'nombrenuevodecolumna', 'COLUMN';

Ejemplo:

   EXEC sp_rename 'dbo.cfdparse.noTasaIrs', 'noTasaISR', 'COLUMN';


domingo, 5 de junio de 2022

No se puede conectar con el servidor web de desarrollo configurado. Salida de IIS Express Web server, Failed to register URL, Access is denied

 No se puede iniciar el sitio web por que se requiere privilegios administrativos para enlazar al nombre de host o puerto










Solucion:

Reiniciar el servicio WinNAT.

Iniciar cmd como administrador:

net stop winnat

net start winnat


















jueves, 2 de junio de 2022

Eliminar los caracteres de espacio en blanco de una cadena en SQL Server

 Intento eliminar espacio en blanco con rtrin, trin y ltrim pero no funciona.

Solucion:

SELECT LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(CADENACONESPACIOS, CHAR(10), ''), CHAR(13), ''), CHAR(9), '')))




miércoles, 1 de junio de 2022

System.ArgumentException Mensaje = [Acr.UserDialogs] This is the bait library, not the platform library. You must install the nuget package in your main executable/application project

 System.ArgumentException

  Mensaje = [Acr.UserDialogs] This is the bait library, not the platform library.  You must install the nuget package in your main executable/application project














Se debe inicializar en el archivo MainActivity,cs del proyecto Android 

Se debe tener en cuenta la compatibilidad del nuget con tu versión de proyecto.

Android Initialization (In your main activity)

UserDialogs.Init(this);
OR UserDialogs.Init(() => provide your own top level activity provider)