TDD para novatos

Intentando probar el sistema de test (TDD) que implementa y trae adaptado asp.net mvc me encontré con un pequeño problema la primera vez que quise probar una conexión una base de datos de mi web, el problema radicaba en que el sistema no conseguía resolver la siguiente key  “global::System.Configuration.ConfigurationManager.ConnectionStrings[“ApplicationServices”].ConnectionString” de este procedimiento:

Ordenar una consulta aleatoriamente en Linq

Migrando mi pequeño proyecto personal a asp.net mvc me he encontrado que cosas que tenía en MySql me ha apetecido no hacerlas en procedimientos almacenados y pasarlas al código propiamente dicho, puesto que son procesos que no se ejecutan muy a menudo y además poseen un alto valor de aprendizaje.
Uno de los problemas con los que me he encontrado es que tenía algunas consultas que tenían que dar datos ordenados aleatoriamente, esto en MySql era tan sencillo como realizar un “order by Rand()” y te quedabas tan pancho. Pues bien, la solución para Linq que he encontrado la verdad es que no es nada compleja, se trata de realizar un orderby llamando a la clase GUID con lo que la estructura de la consulta sería la siguiente:

var results = from ... in ... where ... orderby Guid.NewGuid() select ...;

Esto resulta muy practico para casos como el mío en que necesitaba que de un conjunto me devolviera un número de resultados aleatoriamente.

Script para edición fotográfica

Hoy voy a presentar el sistema que me acabo de crear para poder ponerle un borde a con mi firma y la firma en el centro a mis fotografías para subirlas luego a hostings.

Partimos de una imagen inicial:

Importación de un excel desde Vb6

Si trabajas o has trabajado con vb6 en algun momento te habrás encontrado con algún tipo de importación de datos, y el formato preferido tanto por clietnes como por proveedores suele ser importar un excel, por la comodidad que les representa para validar los datos visualmente. Sin embargo esto la mayor parte de las veces nos obliga a tener la misma instalación de Excel en los clientes cómo en desarrollo, y muchos de ellos no están dispuestos a pagar el coste que ello supone.

Update con Join en Sql Server

Una opción realmente útil para realizar una update y que no mucha gente conoce o practica es la de anidar dos tablas, la aplicación de las join en update es complejo pero con un poco de practica la ganancia es elevada. 

Enum de MySql en Sql Server

Si has llegado hasta aquí probablemente o eres un seguidor del blog, o… te has encontrado con el mismo problema que yo me encontré en su momento. Tal y como se puede ver aquí los ENUM se definen como: Un ENUM es un objeto de cadenas de caracteres con un valor elegido de una lista de valores permitidos que se enumeran explícitamente en la especificación de columna en tiempo de creación de la tabla.Este concepto en SQL Server no existe como tal, pero no es dificil de imitar el mismo. 

Cursor MS-SQL

En Transact SQL un cursor es una herramienta muy útil que nos permite recorrer los registros de uno en uno. Su equivalente en cualquier lenguaje de programación sería usar un for o un for each pero esta vez aplicado a una consulta Select.

Los .exe abren un programa diferente

Este caso por extraño que parezca me sucedió hoy, al ejecutar un programa se me abría la consola de Windows, y después de varios intentos encontré la solución. Muchas de las soluciones encontradas por internet me indicaban que cambiase el registro de windows cambiando la asociación de los archivos en la rama Root del registro. La solución real y que me funcionó es la siguiente:

Realmente yo realicé sólo la opción rapida:

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exe]

En esa rama tenía un valor que era el de la otra aplicación que se abría, lo eliminé y como nuevo.

Exportar consulta SQL (2005) a Excel

Deja de copiar y pegar los resultados de tus consultas de SQL a Excel, genera directamente el archivo desde SQL ejecutando este script en el Query Analyser: