21 dic 2007

Toolbox de Crystal Reports Perdido


Cuando trabajamos con visual studio .net y crystal reports a veces, por alguna extraña razón, perdemos el toolbox de crystal, desde donde se arrastran los campos de base de datos, etc.

Lo podemos recuperar de nuevo entrando en: View -> Other Windows -> Document Outline.

20 dic 2007

Borrar un eventlog

Varias formas de borrar un eventlog que ya no necesitemos...
  • La mas facil: Desde visual studio 2005 en el Server Explorar elegimos el servidor (nuestra maquina en ambiente de desarrollo) luego Event Logs, boton derecho sobre el log a borrar y Delete.
  • Con C# usando: System.Diagnostics.EventLog.Delete("Log_a_Borrar");
  • Con PowerShell (nunca lo he utilizado): PS> [System.Diagnostics.EventLog]::Delete("Log_a_Borrar");
  • La mas larga:
    • ir a Control Panel ->Herramientas Administrativas --> Servicios
    • Ubicar el servicio Event Log.
    • Boton derecho, propiedades. En Startup Type elegimos Disabled.
    • Reiniciamos windows (probablemente nos des un mensaje de advertencia luego de reiniciar)
    • Buscar en el directorio de Windows\System32\Config el event log a borrar, por ejemplo Log_a_Borrar.evt
    • Volvemos a habilitar el servicio del Event Log y se acabo.

19 dic 2007

Donde se manejan las conexion en SQL server 2005


Dentro de Microsoft SQL Sever Management Studio, en la ventana del object browser, A nivel del servidor (No al de base de datos) en la carpeta que dice Management y ahi el Activity Monitor.

Muy util para matar conexiones bloqueadas...

If, switch y cosas similares

Como todo lenguaje de prgramación de alto nivel C# tiene estructuras de control la mas conocida es el if.
if (condicion) // si "condicion" es verdadero
{
    //hacer algo
}
else // si no
{
    //hacer otra cosa
}
tambien se pueda usar
if (condicion) // si "condicion" es verdadero
{
    //hacer algo
}
else if (condicion2) // si la "condicion2" es verdadero
{
    //hacer algo
}
else // si no
{
    //hacer otra cosa
}
Tambien estan los switch que se utilizan para mejorar la estructura cuando se pregunta sobre el valor de un mismo dato varias veces:
switch (letra)
{
    case ('A'):
        // hacer algo
        break;
    case ('B'):
        //hacer algo
        break;
    default:
        //hacer algo en caso de que no se cumpla ninguna condición
        break;
}
Hay un ultimo caso interesante y que se da con bastante frecuencia en el cual nos interesa evaluar una condición específicamente para asignarle un valor a una variable se podría hacer de la siguiente manera:
if (condicion)
{
    variable = 1;
}
else
{
    variable = 2;
}
o bien esta expresión que es equivalente y ocupa menos espacio:
variable = condicion ? 1 : 2;
otro ejemplo
variable = (x == 0) ? true : false;
esto es si x es igual a cero asignarle true a variable, si x no es cero asignarle false a variable. Muy util a mi parecer.

13 dic 2007

Iniciamos

Estos pretenden ser los registros de las vicisitudes de un programador junior en .Net, vamos a ver si tenemos la constancia para publicar lo que vayamos viviendo dentro y fuera de este mundillo...