jueves, 12 de octubre de 2017

If en una sola línea C#

If en una sola línea C#


Normalmente al aplicar una condición en c# ocupamos el if – else, con la cual podemos realizar todo tipo de condiciones como por ejemplo:

  protected void Button4_Click(object sender, EventArgs e)
    {
        int Aux = 110;
        string Msj = "";

        if (Aux > 100)
        {
            Msj = "La variable Aux es mayor a 100";
        }
        else
        {
            Msj = "La variable Aux es menor a 100";
        }
    }

Sin existe otra forma de conseguir el mismo resultado en una sola línea y es conocido como Operador ?:
La sintáis es la siguiente
condition ? first_expression : second_expression; 
condition debe evaluarse como true o false. Si condition es true,
first_expression se evalúa y se convierte en el resultado.
Si condition es false, second_expression se evalúa y se convierte en el resultado. Solo se evalúa una de las dos expresiones.
Tanto el tipo de first_expression como el de second_expression deben coincidir, o bien debe existir una conversión implícita de un tipo al otro.
Puede expresar cálculos que, de lo contrario, podrían requerir una construcción if-else más concisa mediante el operador condicional. Por ejemplo, el código siguiente usa primero una instrucción if y después un operador condicional para clasificar un entero como positivo o negativo.
Ejemplo:


Msj = Aux > 100 ? "La variable Aux es mayor a 100" : "La variable Aux es menor a 100";

miércoles, 11 de octubre de 2017

Reiniciar Campo Identity de Tabla en SQL SERVER ,Reset Identity SQL Server

Reiniciar Campo Identity

En algunas ocasiones necesitamos reiniciar el campo identity de alguna tabla con esta propiedad, muchas veces este campo es llave y no nos permite editarlo.
Reset Identity SQL Server

La solución es la siguiente:

 1  Primero necesitamos saber en qué id va la tabla, para esto ocupamos la siguiente sentencia:
DBCC CHECKIDENT([NombreDeTuTabla], NORESEED)

Esta sentencia nos dará como resultado el número actual en el que va el consecutivo.
Ejemplo





    Después de saber en cual va procedemos a cambiarlo al nuevo id, para esto ocuparemos la sentencia:DBCC CHECKIDENT([NombreDeTuTabla], RESEED,100)
En este caso 100 es el numero nuero a asignar.
Ejemplo:










3.        Para corroborar el nuevo id ejecutamos el punto numero 1










4.     Si insertamos un nuevo registro tendrá el id 101



El método descrito aquí funciona con todas las versiones de SQL Server: SQL Server 2002, SQL Server 2005, SQL Server 2008, SQL Server 2008R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, hasta la versión más reciente de SQL Server 2017 .

Argumentos

  • nombre_tabla : es el nombre de la tabla para la que se verifica el valor de identidad actual. La tabla especificada debe contener una columna de identidad. Los nombres de las tablas deben seguir las reglas para los  identificadores . Los nombres de dos o tres partes deben estar delimitados, como 'Person.AddressType' o [Person.AddressType].
  • NORESEED : Especifica que el valor de identidad actual no debe cambiarse.
  • RESEED : Especifica que se debe cambiar el valor de identidad actual.
  • new_reseed_value : es el nuevo valor a usar como el valor actual de la columna de identidad.
  • WITH NO_INFOMSGS : suprime todos los mensajes informativos.



lunes, 29 de mayo de 2017

Quitar saltos de linea de campo en consulta de sqlserver (quitar los ENTERs)

En ocasiones cuando se almacena algún dato de texto en un campo nvarchar o char de sql y este tiene implícitos saltos de linea, estos se guardan en el campo, lo que puede ocasionar problemas al generar reportes en excel ya que hace saltos de linea.

Ejemplo de campo con saltos de linea:

En campo:



Copiado y pegado:

Poniente 140 No. 720
Col. Industrial Vallejo
C.P. 02300, Azcapotzalco, Ciudad de México.


Pegando en excel:
Número Telefonico Direccion CódigoDePais
XXXXXX Poniente 140 No. 720
Col. Industrial Vallejo
C.P. 02300, Azcapotzalco, Ciudad de México.


Solución.

MEX
select
[Número Telefonico]  ,
REPLACE(REPLACE(REPLACE(convert(nvarchar(max),Direccion),CHaR(10),' ') ,CHaR(13),' ') ,'  ',' ')   ,
CódigoDePais
from  
nametable

domingo, 28 de mayo de 2017

Concatenar varios registros de una columna en una sola cadena SQL

Es probable que tengamos varios registros pertenecientes a una columna o campo que debamos concatenar y mostrar en una sola cadena. Algo así:
Descripción
===========
valor 1
valor 2
valor 3
y necesitamos obtener algo así:
valor 1,valor 2,valor 3
es decir, como si tuviéramos que trasponer la columna, pero sin complicarnos.
La solución es la siguiente:
DECLARE @valores VARCHAR(1000)
SELECT @valores= COALESCE(@valores + ', ', '') + descripcion FROM tabla
select @valores as valores

domingo, 21 de mayo de 2017

Conocer la versión exacta de SQL Server

Hay algunas aplicaciones que necesitan tener una versión en específica de SQL Server.

Esta información se puede obtener haciendo una simple consulta a la base de datos:

SELECT @@VERSION
El resultado es algo así:

Microsoft SQL Server 2012 – 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.2 (Build 8400: )


El numero 11.0.2100.60 corresponde a la versión de SQL Server. Para saber la versión exacta de fácil lectura, hay que buscar el valor en la tabla del siguiente sitio web: