Mostrando entradas con la etiqueta Capsulas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Capsulas. Mostrar todas las entradas

martes, 1 de octubre de 2013

“Desbloquear” una base de datos

Hace ya algún tiempo os comente como pasar una base de datos a acceso de un sólo usuario para cuando teníamos problemas al restaurar.

Otra forma de hacerlo es mediante Scripts, que es mucho más rápido.

Pasar de “MULTI USER” a “SINGLE USER”:
ALTERDATABASE [BASE_DE_DATOS] SET SINGLE_USER WITH ROLLBACKIMMEDIATE
GO




Pasar de “SINGLE USER” a “MULTI USER”:
ALTERDATABASE [BASE_DE_DATOS] SET MULTI_USER WITH ROLLBACKIMMEDIATE
GO



Si aún así os sigue dando problemas por que la base de datos este “pillada” por algún proceso, podemos lanzar el siguiente script para “matar” los procesos de una base de datos:

DECLARE @NombreDataBase NVARCHAR(MAX) = 'Nombre_Base_Datos'
DECLARE @Spid INT = (select spid from master..SysProcesses WHERE DB_NAME(DBId)= @NombreDataBase)
SELECT @Spid
DECLARE @ComandoSQLKill NVARCHAR(MAX) = 'KILL ' + convert(VARCHAR(10),@Spid)

EXEC (@ComandoSQLKill)



 

Bueno, espero que después del tiempo que llevo sin actualizar, estos scripts os puedan servir de algo.

jueves, 15 de noviembre de 2012

Como obtener la Ip de la máquina con C#

Hacia tiempo que no ponía ninguna capsula de código, así que ahí va una para obtener la IP:

            IPHostEntry ipEntry = Dns.GetHostEntry(Dns.GetHostName());
IPAddress[] addr = ipEntry.AddressList;
string ip = string.Empty;
foreach (var ipAddress in addr)
{
if (ipAddress.AddressFamily == AddressFamily.InterNetwork)
{
ip = ipAddress.ToString();
break;
}
}



En este caso, obtenemos la IPv4, que básicamente es la que mas se usa (por lo menos de momento), pero podréis comprobar que el enumerado AddressFamily nos permite acceder a todo el esquema de direcciones.

jueves, 5 de abril de 2012

Silverlight, cambiar el color de texto programáticamente

Continuo con la serie de capsulas de código, que no son más que pequeños trozos de código con una finalidad muy concreta. Ya vimos como buscar elementos dentro de un listado usando LINQ, o como comprimir ficheros.

Hoy vamos a cambiar el color de fondo de un Label o un TextBox (funcionan igual ya que los dos heredan de control) desde code behind:

Definimos el label en el xaml:

image

Y en el code behind, en el momento que queramos cambiarlo es tan sencillo como definir el Foreground (funciona igual si queremos cambiar el fondo, con Background)

image

Eso es todo, nos leemos!

martes, 14 de febrero de 2012

LINQ, buscar elementos en un listado

Continuo con la sección de capsulas de código, donde sin entrar mucho en detalle, pongo trozos de código con una funcionalidad muy concreta.

Hoy vamos a “jugar” un poco con LINQ y las expresiones lamda, y vamos a usar la potencia que nos ofrecen para facilitarnos un poco a la hora de encontrar elementos dentro de un listado del tipo IEnumerable con unos cuantos ejemplos concretos.

LINQ nos ofrece varios selectores a la hora de obtener los valores.

Where: Devuelve todos los valores que coincidan con el criterio seleccionada.

Single: Solo devuelve un valor, pero generara una excepción en el caso de que el criterio de selección devuelva null o mas de un valor. Si no estamos seguros de que el criterio de filtrado siempre vaya a devolver un valor podemos usar SingleOrDefault, que devuelve null en caso de no tener ningún resultado. Si no estamos seguros de que vaya a devolver solo un valor, tenemos que usar Where, o tenemos la opción de usar First.

First: Devuelve el valor del primer elemento que coincida con el criterio de filtrado. Aquí también témenos la opción de usar FirstOrDefault.

Unos ejempolos:

            string busqueda = "criterio";
List<string> Lista = new List<string>();

//SINGLE
string result = Lista.Single(s => s == busqueda);

//WHERE
IEnumerable<string> results = Lista.Where(s => s == busqueda);

//FIRST
string result = Lista.First(s => s == busqueda);




¿Sencillo verdad?


Pero que pasa si el listado que tenemos es por ejemplo de una clase propia que hemos creado nosotros. Tenemos el Cast<T>


Un ejemplo:

var imagenBorrar = imagenes.Items.Cast<ImagenGaleria>().Single(i => i.Id == _idImagenBorrar);
imagenes.Items.Remove(imagenBorrar);




Eso es todo por hoy, espero que os sirva.


Nos leemos!



miércoles, 18 de enero de 2012

Comprimir ficheros en .Net [Capsulas de código]

Hoy voy a iniciar una nueva sección en el blog. Pequeños trozos de código con una funcionalidad muy concreta, pero que pueden ser muy útiles. Para empezar un método para comprimir ficheros con .Net:

(Puedes descargar el código aquí)

image

Yo para llamar al método y hacer pruebas uso test unitarios, pero puedes llamarlo desde cualquier parte de tu código;

image

Y el resultado:


image


Bien, espero que os sirva, nos leemos!