sábado, 28 de enero de 2012

Windows Phone 7.5. Desarrollo de aplicaciones en Silverlight

Windows Phone 7 Mango es el nuevo sistema operativo móvil desarrollado por Microsoft, y diseñado para su uso en  Smartphones. Ofrece más de 500 nuevas características diseñadas para mejorar las actividades multitarea, integrar mejor nuestras aplicaciones, ofrecer información más dinámica y mejorar el desempeño del sistema operativo. Además los nuevos teléfonos que se están lanzando (Nolia Lumia) con este nuevo sistema operativo poseen características técnicas que serán del agrado del público aficionado a la tecnología.

Si estais interesados en empezar a programar aplicaciones con Windows Phone os dejo un enlace de un completísimo libro de Josué Yeray Julián e Ibon Landa.
Windows Phone 7.5. Desarrollo de aplicaciones en Silverlight 

Os dejo también un Cheat Sheet (pdf, png) en tamaño A3 del blog Nordkapp:



domingo, 22 de enero de 2012

Exportar resultados de una query a una hoja Excel

Podemos usar el siguiente script para exportar los resultados de una query a una hoja excel utilizando el comando sp_makewebtask.

En primer lugar debemos habilitar las siguientes opciones:

       EXECUTE sp_configure 'show advanced options', 1;
       RECONFIGURE;
       EXECUTE sp_configure 'Web Assistant Procedures', 1;
       RECONFIGURE;

Lanzando el siguiente scipt podremos exportar los resultados de la consulta a una hoja de Excel.

       DECLARE @cons NVARCHAR(MAX)
       SET @cons = 'SELECT * FROM NOMBRE_TABLA'
       EXEC sp_makewebtask
         @outputfile = 'C:\ARCHIVO_EXCEL.xls',
         @query = @cons,
         @colheaders =1,
         @FixedFont=0,
         @lastupdated=0,
         @resultstitle='titulo'

El comando tiene muchas más opciones y parámetros configurables que podemos ver en MSDN

lunes, 16 de enero de 2012

Pequeñas grandes ayudas para SQLServer

Estas pequeñas ayudas son las que te salvan la vida en muchas ocasiones, ya que no es nada fácil recordar todas las funciones que utiliza cada lenguaje de programación ni la nomenclatura más adecuada. 
Os dejo algunos pdfs que he encontrado de SQLServer en el foro de www.pinaldave.com y que os pueden hacer la vida un poco más fácil:

sábado, 7 de enero de 2012

C# for Sharp Kids

Si estás iniciándote en el mundo de la programación en c# o tienes 12 años y no tienes otra cosa mejor que hacer que dedicarte a la programación, C# for Sharp Kids te vendrá de perlas. Este eBook está pensado para niños y tiene un enfoque muy didáctico para conocer las bases de este lenguaje de programación.
El libro consta de 5 partes:
       parte 1: Primeros pasos
       parte 2: Aprender a comunicarse
       parte 3: El lenguaje c#
       parte 4: Programación con .Net Framework
       parte 5: Más alla de este libro
Para descargar el libro completo pincha aquí

viernes, 30 de diciembre de 2011

Is64BitOperatingSystem y Is64BitProcess

Las propiedades estáticas Is64BitOperatingSystem y Is64BitProcess nos permiten saber si el sistema operativo donde se está ejecutando la aplicación es de 64 bits y si el proceso en ejecución es de 64 bits o no, respectivamente. Estas propiedades están disponibles a partir de .Net Framework 4.0 y la clase Environment puede ser localizada en la librería mscorlib.dll del namespace System.

public static bool Is64BitOperatingSystem { get; }
public static bool Is64BitProcess { get; }

lunes, 19 de diciembre de 2011

Parámetros adicionales Specified en WCF desde .Net 1.1

Añadiendo un Web Reference a un servicio WCF en 4.0 desde un proyecto en Visual Studio 2003 en .Net 1.1, observé que se duplicaban los parámetros de los métodos del servicio WCF al hacer la instancia. Los parámetos extra tenían el mismo nombre pero con el sufijo SPecified y eran de tipo Bool. Observando la referencia al método, efectivamente contenía el doble de parámetros.

public string NOMBRE_METODO(int param1, [System.Xml.Serialization.XmlIgnoreAttribute()] bool param1Specified, int param2, [System.Xml.Serialization.XmlIgnoreAttribute()] bool param2Specified) {
object[] results = this.Invoke("NOMBRE_METODO", new object[] {
param1,
param1Specified,
param2,
param2Specified});
return ((string)(results[0]));
}

El problema se debía a los diferentes mecanismos de serialización que utiliza WCF y los servicios ASMX. Los servicios en .Net 1.1 no tienen el concepto de nulo y añaden esos parámetros extra para especificar la opcionalidad de los mismos. La solución al problema es bastante simple, basta con añadir el atributo

[XmlSerializerFormat]
al contrato que estamos utilizando.

Herramienta para comparar Bases de Datos

Hace poco descubrí una herramienta bastante útil que incorpora Visual Studio 2010 para comparar esquemas y datos de bases de datos. Lo único que debemos haces es especificar las 2 bases de datos a comparar (Origen y Destino) y automáticamente nos crea un Script con las querys necesarias para generar la base de datos Destino a partir de la de Origen.
La herramienta tiene muchas más posibilidades pero vamos a describir las nociones básicas para su utilización.
El primer paso es seleccionar desde la barra de menú: Data->Schema Compare->New Schema Comparison
y nos aparecerá la siguiente ventana donde especificamos las 2 bases de datos de 3 formas diferentes: desde proyecto de Visual Studio, desde una conexión a bd o desde archivo de bd.
Una vez seleccionadas pinchamos en OK y obtendremos un esquema de comparación donde podremos elegir los elementos que queremos actualizar o crear de cero en la base de datos Origen.
Solo nos queda pinchar en el botón Export to Editor y obtendremos un Script con el que actualizar el esquema de la base de datos Origen para que sea idéntica a la de Destino. Si quisieramos actualizar además de los esquemas, los registros de la base de datos, seleccionaríamos Data->Data Compare->New Data Comparison y de forma análoga haríamos la comparación.
Espero os sea de gran ayuda.