sábado, 27 de septiembre de 2014

SQL Server, tablas temporales

Algunas veces puede ser interesante, sobre todo para un programa informático, crear una tabla temporal en SQL Server  utilizarla para un propósito determinado y eliminarla.
Las tablas  temporales son como las tablas normales y corrientes de SQL Server pero al apagar el equipo desaparecen pues sólo existen en la memoria RAM.
Estas tablas se nombran con el símbolo # delante del nombre.


Para crear una tabla temporal basta con hacer una select o una vista de la tabla o tablas de la que queramos manejar los datos y tomar sólo los campos que nos interesan. Los ejemplos que voy a mostrar son muy sencillos pero se pueden complicar todo lo que queramos.

SQL Server, tablas temporales

sábado, 20 de septiembre de 2014

SQL Query analycer. Depurar un procedimiento almacenado (SP)

Introducción

En esta ocasión voy a explicar como ver lo que hace exactamente un sp utilizando el Query analycer de SQL SERVER. En vez de seguir la ejecución del sp paso a paso como si fuera un programa, lo que hacemos es convertirla en una consulta de SQL SERVER y ejecutarla para que devuelva el mismo resultado que si fuera una consulta más simple.

En muchas ocasiones los procedimientos almacenados (sp) contienen variables que comienzan por @ y no permiten su ejecución directa desde el analizador de consultas. Pero el método de depuración paso a paso con VS2005 puede ser demasiado tedioso o incluso no darnos la información que necesitamos.
Una forma más sencilla de ejecutar un sp rápidamente consiste el convertir en código ejecutable por SQL SERVER el sp a analizar y ejecutarlo directamente para ver el resultado.

Este ejemplo es tan sencillo que parecerá una perogrullada por que la salida será igual que la entrada. Pero en procedimientos muy complejos puede ser imposible su ejecución directa y tendremos que retraducir el procedimiento de este modo que se explicará a continuación. Por motivos didácticos no he considerado poner un sp más complejo.

Análisis del Procedimiento Almacenado



Para empezar abrimos en una nueva ventana el código del sp que deseamos depurar. Para ello, situados sobre el explorador de objetos de SQL SERVER desplegamos la lista de procedimientos almacenados y con el botón derecho del ratón elegimos la opción  Incluir procedimiento almacenado como-> CREATE To -> Nueva Ventana del editor de consultas.

Analizar un procedimiento almacenado complejo

sábado, 13 de septiembre de 2014

C++, Puntero implícitoTHIS, friend

El puntero implícito this
Saltar el sistema de protección. ( Friend )
Miembros static de una clase
Funciones virtuales

El puntero implícito this


Cada objeto de una determinada clase mantiene su propia copia de los datos miembro de la clase, pero no de las funciones miembro, de estas sólo existe una copia para todos los objetos de la clase; es decir, cada objeto tiene su propia estructura de datos, pero todos comparten el mismo código para cada función miembro. De este modo si necesitamos que una función miembro conozca la identidad de cada objeto para el que ha sido llamada, en C++ debemos invocar un puntero al objeto denominado this. Así por ejemplo, si declaramos un objeto.


Empleado.set_empleado( );

Puntero This, C++

sábado, 6 de septiembre de 2014

C++, funciones sobrecargadas, referencias

Funciones sobrecargadasPaso de parámetros por referenciaReferencia como valor retornadoClases con miembros que son punterosArrays de objetos y de punteros a objetosPunteros a miembros de una clasePunteros como argumentos de funciones


Funciones sobrecargadas

Se dice que una función está sobrecargada cuando se declara una función previamente declarada con distinto número y/o tipo de parámetros pero con el mismo nombre. Es un concepto de programación orientada a objetos llamado polimorfismo. (Muchas declaraciones de una misma función).

Cada función suele tener un nombre que la distingue de las demás. Pero se pueden presentar casos en los que varias funciones ejecuten la misma tarea sobre objetos de diferentes tipos, y puede ser interesante que dichas funciones tengan el mismo nombre. Por ejemplo podemos definir una función Mover para cada tipo de movimiento de una pieza distinta de ajedrez y llamar a todas las funciones con el nombre mover pero distinguirlas por el número y/o el tipo de los parámetros sean diferentes.

C++, funciones sobrecargadas, referencias

sábado, 30 de agosto de 2014

Alojar un sitio web en nuestro equipo con IIS (Internet Information Services)

Para alojar un sitio web en nuestro equipo sólo necesitamos instalar el IIS, una vez instalado, creamos un directorio virtual donde se alojará nuestro sitio web (hay que tener en cuenta que los conceptos de directorio virtual y sito web son diferentes. Un sitio web puede ocupar uno o varios directorios virtuales). Seguidamente siguiendo un wizard muy sencillo alojamos nuestro sitio web en un directorio físico. Para comenzar el wizard podemos hacer dos cosas.

Posicionados en el directorio Default Web Site del IIS  pulsamos botón derecho del ratón, y elegimos new y luego web site como se muestra abajo.

Crear un sitio web en mi ordenador

sábado, 23 de agosto de 2014

Cómo crear un directorio virtual con IIS (Internet Information Services)

Voy a explicar cómo crear un directorio virtual en nuestro equipo para que este haga de servidor de una aplicación web. Nuestro equipo deberá tener instalado el IIS.

Sobre el IIS nos posicionamos en Web Sites sobre Default website. Con el botón derecho del ratón  new y virtual directory.

Nuevo directorio virtual IIS