Comparación de características entre versiones de SQLServer 2005

MSDN: http://www.microsoft.com/Sqlserver/2005/en/us/compare-features.aspx

Actualizar una base de datos de SQL Server 2000 a SQL Server 2005

Para actualizar una base de datos de SQL2000 a SQL2005 bastará con destatacharla del servidor 2000 y atacharla al servidor de 2005.
Tras esto habrá que ejecutar el comando:

DBCC UPDATEUSAGE

MSDN: http://msdn.microsoft.com/es-es/library/ms189625.aspx

Método IsDate como extensor de String

Tras leer un árticulo en la web sobre métodos extensores en Visual Studio 2008 y para probar la facilidad de uso de estos he implementado en método IsDate, extensor de String que siempre viene bien para comprobar las cadenas que son fechas válidas. El código quedaría como sigue:

using System;

///
/// Clase que implementa métodos extensores.
///

public static class Extensores
{
///
/// Determina si una cadena es o no una fecha válida.
///

/// Cadena a validar.
///
/// true si la cadena es una fecha válida, sino false.
///

public static bool IsDate(this String cadena)
{
DateTime d;
return DateTime.TryParse(cadena, out d);
}
}

Es decir basta con crear una clase estática con una función estatica IsDate con un parámetro (this String cadena). Con esta nomenclatura le estamos diciendo que el metodo extensor es para la clase String.
He usado la funcion TryParse de DateTime porque según he leido es más eficiente que usar bloques try - catch - finally.
No es muy dificil de implementar pues y el uso seria muy facil puesto que ahora nuestra clase String posee un metodo nuevo al que podremos acceder facilmente:
String.Empty.IsDate()
Esa llamada se evalua como falso ya que la cadena vacia no es una fecha válida.

Obtener la url de tu página web con ASP

Para crear un link a la hora de enviar un correo electronico automaticamente tras el registro de un usuario necesitaba obtener la url completa de la pagina a la que debia de hacer referencia dicho link. Tras googlear un poco encuentre esta solución:

Request.Url.Authority

Esta linea de codigo c# obtiene la direccion base de la web por ejemplo en mi caso, con el servidor de desarrollo de NET me devuelve esto:

localhost:1623

A eso le concatenamos lo que creamos necesario.

Carácter de escape para las comillas simples en T-SQL

Esta mañana me ha surgido la necesidad de generarme codigo mediante una select y precisaba que esta select generara otras selects, tras un ratillo de busqueda he encontrado que para generar unas comillas simple basta con poner dos.

Ej:
select 'insert into modulo (nombre, ruta) values (''' + nombre + ''', ''' + ruta +''')' from Modulo

Alternar bloques de comentarios en C#

Magnífico truco de mi compañero A.J. Busquiel el que aquí publico, una forma de alternar dos bloques de comantarios para, cuando andamos haciendo pruebas comentando y descomentando trozos de codigo:

//*
Bloque de código 1
/*/
Bloque de código 2
/**/

Probemos en Visual Studio que quitando la primera barra (/) comentamos el primer bloque de código y dejandolo puesto comentemos el bloque 2.

Silverlight con parametros

Esta mañana tenia la necesidad de compartir un pequeño control de Silverlight en varias paginas y tenia que mostrar secciones distintas según la pagina que la llamaba.

La primera idea que tuve (y esa he aplicado) es pasarle parametros al silverlight mediante su propiedad InitParametrers tal como esto:

<asp:Silverlight ID="Silverlight1" runat="server" Source="~/ClientBin/ComponentesSilverlight.xap" MinimuVersion="2.0.31005.0" Width="100%" Height="100%" InitParameters="pantalla=enlaces" />

Con esta llamada al elemento Silverlight podremos obtener los parametros en el Startup de App.aspx.cs tal como sigue:

private void Application_Startup(object sender, StartupEventArgs e)
{
string pantalla = string.Empty;
if(e.InitParams.Keys.Contains("pantalla")) pantalla = e.InitParams["pantalla"];
this.RootVisual = new Page(pantalla);
}

Y pos supuesto tendremos que cambiar el constructor de la clase Page del componente Silverlight con el/los parametros que vamos a utilizar por ejemplo:


private string _pantalla;

public Page(string pantalla)
{
InitializeComponent();
_pantalla = pantalla;
}

Luego podremos usar la variable privada _pantalla para lo que pretendamos.

Buscar este blog

Seguidores

Blogs amigos