El MUG Aragua evoluciona, ahora es…. MUG DEL CENTRO!!!


Sip.


Ese fue el desenlace del evento del Lanzamiento de la Alianza MUG Aragua – MUG Valencia.


A este evento asistieron cerca de 15 personas provenientes de Valencia y Maracay. Este evento organizado por el MUG Aragua buscaba estrechar los lazos de colaboración de ambas comunidades y tanto fue así, que al final se unieron en una sola MUG DEL CENTRO. Si deseas incorporarte a esta nueva comunidad, visita este link: http://groups.msn.com/mugdelcentro y haz clic en la opción UNETE AHORA.


El evento empezó con la ponencia de Jorge Oblitas de MS Perú: Analisis de requerimientos: más allá de lo evidente.  Una charla excelente de parte de Jorge donde mostro algunos tips importantes al momento de definir requerimientos. Una ponencia excelente. Gracias Jorge, por visitar nuestro estado.


Seguidamente me toco el turno: Language Integrated Query – LINQ: Un primer vistazo, donde entre otras cosas hable de los cambios en los lenguajes que han sido introducidos para permitir el uso de LINQ, si deseas descargar la ppt haz clic aqui.


Muchisimas gracias a Renier y a Joel por haberme invitado a este evento y por ponerle corazón al MUG. Muchachos la tarea no es fácil contamos con uds. y Uds. saben que cuentan conmigo


A los interesados en pertenecer al GOA (Grupo de Operacioenes y Apoyo) de MUG del Centro les pido que visiten la pág. del MUG del Cento y manifiesten su voluntad, que seguramente Joel o Rernier se pondrán en contacto con Uds.


Las fotos se las debo….


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

eBook Gratuito: Visual Studio .NET Tips and Tricks

Sip.


Cuando Jorge Oblitas me invitó a participar como ponente en una sesión «bastante cool» «tipo american idol» donde se muestren tips, cosas sencillas que le ayuden al desarrollador a ser más eficientes con VS me puse a pensar en que diablos iba a mostrar. ¿Dos tips? ¿10 mins.?. ¿Que podía mostrar que no se hubiera dicho ya?.


mmmm. Code Snippets. No. Intellisense mejorado. Tampoco. Master Pages. Nooooo. Y así estuve 3 días. Lo confieso sin ningun tipo de temor 🙁


Así que me puse a navegar una noche de esas y, tataaaaaaaaaaa. «Vi la luz» como diria Jorge. Encontre un eBook sobre Tips & Tricks de VS, que de paso era gratuito:


Click to preview Visual Studio .NET Tips and Tricks


El autor es Minh T. Nguyen, un americano de origen asiatico (eso creo) que escribio este libro hace dos años. Curiosamente Minh indica que el 70% de este libro lo escribio esta escrito durante sus horas de almuerzo cuando trabajaba en San Diego. De repente esa puede ser la solución a mi prominente abdomen. 😀


Acá les dejo la reseña de este material, tomada del blog del mismo Minh:


Visual Studio .NET is one of the most versatile and extensible programming tools released by Microsoft. The number of features and shortcuts available in VS.NET is truly immense, and it grows tremendously with each release. Developers who are unaware of these timesaving features surely miss out on opportunities to increase their programming productivity and effectiveness.


Visual Studio .NET Tips and Tricks explains how to use VS.NET efficiently. Organized into short and easy-to-grasp sections, and containing tips and tricks on everything from editing and compiling to debugging and navigating within the VS.NET IDE, this book is a must-read for all .NET developers, regardless of expertise and whether they program in C#, VB.NET, or any other .NET language. This book covers the Visual Studio .NET 2002, 2003, and 2005 Beta 1 releases.


Para descargar este excelente libro, hagan clic aqui (se necesita registro)


Espero lo disfruten tanto como yo!!!


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Realizado con éxito el lanzamiento de MUG Caracas

Sip.


Con gran éxito fue «lanzado oficialmente» el MUG Caracas el pasado 22 de Octubre.


A este evento asistieron alrededor de 50 personas quienes tuvieron oportunidad de disfrutar de tres estupendas sesiones.


La primera fue «El Show de Angel y Yonathan» dos estupendos MVP’S  quienes nos mostraron un adelanto de algunas de las caracteristicas de VS2008.


Luego se inicio la sesión más relajada de la noche: una sesion tipo American Idol donde tuvimos la oportunidad  de dar 2 tips sobre desarrollo a la audiencia. Esta sesión de este tipo (la primera realizada en venezuela) permitió  disfrutar de algunas situaciones realmente comicas. En esta sesión participamos Angel Hernandez, Herber Silva, Yonathan Arrivillaga, Edward Ocando, Miguel Gonzalez, Jorge Oblitas  y mi persona, El jurado estuvo conformado por Mary «Paula» Arcia, Manuel «Randy» Mendez  y Jorge «Simon» Oblitas. Que trio!!!!


A continuación, se monto en el escenario el «importado» Jorge  Oblitas a dar una charla de …. en realidad no se, ya que por la hora me tuve que ir, jeje.


Pero igual me contaron que estuvo super interesante la charla de Jorge.


Gracias a todos los asistentes. Gracias a Mary, Jorge y Edward por el empeño puesto para llevar a cabo este evento…


Acá hay algunas foticos del evento


    


    


Si desean ver el albúm completo hagan clic aqui


Cambio y fuera


Post cruzado desde msmvps.com/blogs/oberroteran

Alianza MUG Aragua – MUG .NET Valencia

Sip.


El próximo martes 23 de Octubre, se realizará a partir de las 4:30 pm (inicio del registro)  el evento de Relanzamiento del MUG Aragua, y al mismo tiempo se estrenará una modalidad desconocida en el país, que es la alianza de las comunidades de Aragua y Carabobo.


A este evento asistirá en plan estelar el popular Jorge Oblitas, quien estará dictando una interesante charla denominada: Analisis de requerimientos: más alla de lo evidente.


Acto seguido este servidor 🙂 le corresponderá la sesión de cierre: LINQ: un primer acercamiento (o Introducción a LINQ, como prefieran llamarlo :-D).


Acá les dejo el afiche que ha preparado la gente de MUG Aragua para el evento:


propa5pro


En el banner tienen la dirección de registro, es importantisimo que se registren….


Salu2 y nos vemos por allá. Apoyemos al MUG que bien vale la pena…


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran
Post Cruzado desde geeks.ms/blogs/oberroteran
Post cruzado desde msmvps.com/blogs/oberroteran

Alianza MUG Aragua – MUG .NET Valencia

Sip.


El próximo martes 23 de Octubre, se realizará a partir de las 4:30 pm (inicio del registro)  el evento de Relanzamiento del MUG Aragua, y al mismo tiempo se estrenará una modalidad desconocida en el país, que es la alianza de las comunidades de Aragua y Carabobo.


A este evento asistirá en plan estelar el popular Jorge Oblitas, quien estará dictando una interesante charla denominada: Analisis de requerimientos: más alla de lo evidente.


Acto seguido este servidor 🙂 le corresponderá la sesión de cierre: LINQ: un primer acercamiento (o Introducción a LINQ, como prefieran llamarlo :-D).


Acá les dejo el afiche que ha preparado la gente de MUG Aragua para el evento:


propa5pro


En el banner tienen la dirección de registro, es importantisimo que se registren….


Salu2 y nos vemos por allá. Apoyemos al MUG que bien vale la pena…


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

ADO .Net. Guia de inicio rápido. Parte III


Tarde, pero seguro…


Estableciendo la conexión a nuestra base de datos.


Tal como se hacía en la antiguedad (o sea vb4,vb5 y vb6) en ADO .Net necesitamos conectarnos a un origen de datos para realizar cuanlquier acción, entendiendose por accion a una consulta, una inserción, una modificación, etc.


Los objetos de tipo Connection son los responsables de establecer y manejar la comunicación entre una base de datos y nuestra aplicación .Net. Este objeto es parte de un proveedor administrado, cada uno de los cuales implementa su «propia versión». Para esta serie utilizaremos el proveedor administrado de SQL Server, por lo que en esta parte me referire exclusivamente al objeto SQLConnection


Es posible crear una conexión de diferentes formas.


Conexiones en tiempo de diseño


Crear una conexión en tipo de diseño es tan fácil como insertar un  TextBox en el formulario, es decir, arrastramos el objeto SQLConnection del toolbox  y lo soltamos sobre el formulario.


Ebueno aclarar que el objeto SQLConnection no esta presente de forma predeterminada en el ToolBox, por lo que si no lo han hecho aún (y queren seguir los ejemplos) es buen momento para hacerlo. ¿Cómo?. Facil, solo basta seleccionar la opción Choose Items del menú contextual del ToolBox y posteriormente marcar el checkbox del elemento SQLConnection.


image


Usando el control SQLConnection


Solo tres pasos son necesarios



  1. Arrastar y colocar sobre el diseñador de formularios el objeto SQLConnection del ToolBox. Al finalizar esta operacion se añade al Component Tray el objeto.

  2. Cambiar modificar la propiedad Name del objeto

  3. Definan que conexión va ser utilizada, expandiendo la propiedad ConnectionString y seleccionando la conexión deseada.
image

Creación de conexiones en tiempo de ejecución


Si. Ya sé. Eso no es lo que necesitan.


Usualmente los desarrolladores no utiizan estos objetos «gráficos» o asistentes para incorporar conexiones en sus aplicaciones ya que la idea principal es que la conexión funcione en toda la aplicación, en vez de estar vinculada con un formulario.


Para poder utilizar esta opcion es necesario en primer lugar, incorporar el Namespace System.Data.SQLClient en el archivo donde vamos a utilizarlo:


Imports System.Data.SQLClient


Luego, pasamos a declarar una variable del tipo SQLConnection; esta variable es la que sera utiizada para controlar todo lo relacionado a la conexion


Dim cnNorthwind as SQLConnection


o


Dim cnNorthwind as SQLConnection


cnNorthwind = new SQLConnection


Tambien podemos utilizar esta sentencia, que sería la combinación de las dos anteriores en una sola instrucción


Dim cnNorthwind as new SQLConnection(cadenadeconexion) 


Propiedades del objeto SQLConnection


Las mas importantes son:



  • ConnectionString: define la información de la base de datos con la que se va a trabajar.Es un valor de tipo String que debe estar delimitado por comillas.

  • Connecti onTimeOut: define el tiempo maximo de espera por establecer la conexión. Si expira, se genera una excepción

  • State: un valor de tipo entero (ConnectionState)  que indica el estado actual de la conexión

La propiedad ConnectionString, a mi juicio, es la más importante de todas, ya que a través de ella, podemos definir casi todas las propiedades del objeto connection. El formato es muy sencillo y consiste en pares de claves-valores (keywords-values), separando los pares con punto y coma:


«DatSource=localhost;Initial Catlog=Northwind;Integrated Security=SSPI»


«DatSource=tuServidor;Initial Catlog=Northwind;UID=usuarioBD;PWD=contraseña»


«DatSource=tuServidor;Initial Catlog=Northwind;User Id=usuarioBD;Password=contraseña»


Los elementos a tomar en cuenta en la cadena de conexión son:



  • DataSource: nombre del servidor donde se encuentra la base de datos. Es posible utilizar «localhost» o incluso un punto «.»  para indicar que la base de datos se encuentra en el servidor local

  • Initial Catalog: nombre de la base de datos. Hay que tener cuidado cuando el nombre de la base de datos incluye una comilla simple o apostrofe (‘). Si ese es el caso la cadena de conexión puede generar una excepción.

  • Integrated Security: define si se usa o no la seguridad integrada entre SQL Serve y Windows. Su valor predeterminado es False. Si queremos acceder a  un servidor que no usa seguridad integrada entonces debemos definir dos elementos adicionales en la cadena de conexion

    • UID o User Id= identificación (login) de usuario

    • PWD o Password= contraseña del usuario.

Para definir la cadena de conexión, solo basta asignar la misma a la propiedad ConnectionString del objeto SQLConnection:






Dim cnNorthwind as SQLConnection


Dim strSQL as String = _



«DatSource=localhost;Initial Catlog=Northwind;Integrated Security=SSPI»



CnNorthwind = new SQLConnection


CnNorthWind.ConnectionString=strSQL


O, mas facil… menos lineas de código






Dim cnNorthW as  New SQLConnection(«DatSource=localhost;Initial Catlog=Northwind;Integrated Security=SSPI»)


NOTA: la propiedad ConnectionString solo puede ser alterada cuando la conexión a la base de datos ha sido cerrada.


Hasta ahora, hemos visto una técnica de establecer la cadena de conexión de una forma «cableada» o «hard-coded», es decir la cadena de conexión esta «fija» dentro del código. En casos sencillos (p. ej. demos) puede considerarse una ventaja, pero en aplicaciones grandes o comerciales no es así, ya que lo más seguro que por lo menos el nombre del servidor cambie… esto hace que esta cadena de conexión sea un candidato a ser almacenada en un archivo de recursos de la aplicación o en el archivo de configuracion (app.config o web.config)


Hagamos un ejercicio para manejar la cadena de conexion desde un archivo de configuracion:



  1. Cree una aplicacion Windows

  2. Añada un objeto SQLConnection a l diseñador de windowsforms, nombre cnNorthwind

  3. Añada una etiqueta (Label)  y escriba en su propiedad Text «Cadena de Conexión:»

  4. Agregue un control de cuadro de texto (TextBox) y nombrelo CadConexion. Asegurese de que sea multilinea.

  5. Seleccione el objeto cnNorthwind y active la ventana de propiedades

  6. Expanda la sección Application Settings (en la ventana de propiedades)

  7. Haga clic sobre PropertyBinding y luego clicsobre el botón con los puntos suspensivos que se encuentra a la derecha   image

  8. Ahora Visual Studio muestra el cuadro de dialogo Application Settings.Abra el listbox ConnectionString y haga clic sobre Newimage


  9. Visual Studio abre el cuadro de dialogo New Application Setting. En el elemento DefaultValue escriba su cadena de conexion, algo similar a «Data Source=localhost;Initial Catalog=Northwind;Integrated Security= SSPI». En el elemento name escriba SQLConnectionString. Tome en cuenta que si Ud. no ha instalado la base de datos Northwind, debe cambiar este elemento de la cadena de conexión por una base de datos que exista en su servidor. Una vez que ha definido esto hagan clic sobre el boton OK para almacenar esta información en el archivo de configuracion.                            image

  10. Observe que ahora Visual Studio actualiza la propiedad ConnectionString                                                                     image

  11. Desde el Solution Explorer abra el archivo de configuración y verifique que existe una entrada como la siguiente       image

  12. Ahora, la pregunta importante ¿cómo obtengo esa informació?. La respuesta fácil: utilizando la clase My.Settings. Probemoslo. Abra la ventana de código del formulario y escriba la siguiente línea                                         

    • CadConexion.Text = My.Settings.SQLConnecctionString

  13. Ejecute la aplicación y el resultado debe mostrar la cadena de conexión que acaba de agregar al archivo de configuración en el cuadro de texto.

Sencillo no?


Métodos del objeto SQLConnection


Todos los objetos Connection implementan una serie de métodos definidos por la clase DbConnection definida en el namespace Data.Common, y cada proveedor administrado les asigna una funcionalidad muy parecida.



  • BeginTransaction: inicia una transacción en la base de datos

  • ChangeDatabase: cambia la base de datos actual sobre una conexión abierta

  • Close: cierra la conexion a la base de datos

  • CreateCommand: crea y retorna un objeto Command asociado a la conexión

  • GetSchema: retorna la información del esquema de la base de datos

  • Open: abre la conexión a la base de datos

Obviamente, los metodos mas universalmente utilizados son Open y Close. Hay que tomar en cuenta que dentro del modelo de objetos de ADO .Net 2.0 existen objetos que pueden abrir y cerrar una conexión de forma ímplicita: DataAdapter, TableAdapter y DataCommand. Explicitamente tambien podemos abrir y cerrar conexiones claro esta:


Dim cnNorthW as new SqlConnection


cnNorhW.ConnectionString= My.Settings.SQLConnecctionString


cnNorthW.Open


……..


CnNorthW.Close



Eventos del objeto Connection


Si. También tiene eventos. Dos, para ser mas especifico: StateChange el cual es definido por la clase DbConnection e InfoMessage, el cual es proporcionado por el .Net Framework.


El evento StateChange es desencadenado cuando cambia el estado de la conexion.Este evento utiliza un argumento (objeto) llamado StateChangeEventsArgs el cual es enviado al manejador del evento. Como este argumento es en realidad un objeto dos propiedades: OriginalState y CurrentState, los posibles valores para ambas propiedades son



  • Broken: la conexión esta abierta pero no funciona :-(, es necesario cerrarla y abrirla nuevamente

  • Closed: la conexion esta cerrada

  • Connecting: la conexion esta siendo abrierta, pero aún no se ha establecido

  • Executing: la conexión esta ejecutando un comando

  • Fetching: la conexión esta retornando datos

  • Open: la conexión esta abierta

Cuando utilizamos el objeto SQLConnection a traves del asistente, este automaticamente nos incorpora los  manejador de eventos en nuestra ventana de código. Sin embargo si utilizamos el objeto SQLConnection via programaticamente, nosotros tambien podemos tener acceso a los manejadorers de sus eventos. Para ello debemos utilizar la siguiente línea:


 Dim WithEvents cnNorthW as new SqlConnection


Una vez que hemos escrito esta línea pueden dar un vistazo sobre la lista de objetos de la ventana de código y desde allí podrán observar que se ha añadido el objeto SQLConnection que han declarado.


Pongamos a prueba el tema de los eventos, para ello utilizaremos el proyecto que habiamos creado en el ejercicion anterior.



  1. Añada una etiqueta y cambie su propiedad Text a «Estado de la conexion».

  2. Añada un textbox y renombrelo «EstadoConexion»

  3. Agregue 2 objetos Button, cambieles el nombre a «AbrirConexion» y «CerrarConexion» respectivamente

  4. Cambie las propiedades text de los objetos Button a «Abrir»  y «Cerrar» respecitvamente

  5. Desde la ventana de código, seleccione el objeto cnNorthWind en la lista de objetos. A continuación seleccione el evento StateChange                    image

  6. En el manejador del evento StateChange escriba el la siguiente línea

    • EstadoConecion.Text = e.CurrentState.ToString

  7. En el manejador de eventos del boton «AbrirConexion», escriba el código necesario para abrir la conexion

    • cnNorthW.Open

  8. En el manejador de eventos del boton «CerrarConexion», escriba el código necesario para abrir la conexion

    • cnNorthW.Close

  9. Ejecute la aplicación y presione el boton AbrirConexion y luego el boton CerrarConexion. Observer como varia el texto que se muestra en el cuadro de texto EstadoConexion                                             image

  10. Si por alguna casualidad (:-D) Ud. presiona 2 veces seguidas el boton AbrirConexion, se habra dado cuenta que se dispara una excepcion de tipo InvalidOperationException. Esto sucede debido que no es posible abrir una conexion que ya esta abierta.Para evitar este comportamiento, verifique el estado de la conexión antes de abrirla

    • If cnNorthW.State = ConnectionState.Closed Then CnNorthW.Open

  11. Pruebe nuevamente la aplicación…

Bien, por ahora es todo lo que tengo que contarles sobre este importante objeto. Espero les sea de ayuda y los invito a encontrarnos dentro de poco.


Ahh… de verdad que trate pero me fue imposible escribir menos 🙁


Cambio y fuera


Oscar





Post cruzado desde msmvps.com/blogs/oberroteran

Presentación Jornada Tecno-Educativa CBAIJA

El día viernes 28 de septiembre tuve el honor de ser invitado como ponente a las II Jornadas Tecno Educativas CBAIJA 2007.


El Centro Bolivariano de Atención Integral al Joven Aragüeño (CBAIJA) es una institución cuyo objetivo principal es brindarle una atención integral a la juventud en las áreas de becas: escolares, universitarias y ayudantias, atención medica, psicológica, social, capacitación en diversas áreas como cultura, deporte, Informática, música, otras.


En esta jornada me toco dictar 2 conferencias:



  1. Microsoft en La Academia. Un vistazo a los programas que ofrece MS a las instituciones educativas

  2. Introducción a la creación de Pág. Web: ASP .Net 2.0

A esta jornada asistieron cerca de 70 jovenes.


Acá tienen algunas fotos del evento:


HPIM0383 HPIM0396 HPIM0404 HPIM0410


Las fotos del público? Pues el amigo Fernando Cegarra, de la Comunidad del IUT La Victoria, no me las envio 🙁


Para los interesados he colocado la presentación en el ftp de mi empresa, si deseas obtener una copia, haz clic aqui


Gracias a la gente de CBAIJA y mil felicidades por la exitosa jornada


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Cambio de Horario en Venezuela

Amigos, MS Venezuela ya tiene listo la información que permitirá ajustar los relojes de los equipos al nuevo horario, pronto a entrar en vigencia (¿?). Acá tienen parte de la info:



Microsoft, como líder responsable de la industria de tecnología, pone a disposición de sus clientes y usuarios en Venezuela la solución 938977, para ajustar sus sistemas y plataformas basadas en tecnología Microsoft, a la nueva hora nacional anunciada por autoridades gubernamentales, durante los meses de septiembre del año 2007.


Esta actualización del sistema operativo Windows está disponible a nivel mundial a través de nuestro canal en línea de soporte: http://support.microsoft.com


Le recomendamos ampliamente que recurra a: http://support.microsoft.com/kb/938977 para hacer efectivo este ajuste de inmediato en sus sistemas.


Si desean mayor información clic aqui


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Diego cumple un año…

Advertencia post no técnico….


A quien me conoce y sabe de mi afición al deporte rey, le informo que no se trata de Diego Maradona :-p


Se trata de Diego José Berroterán Medina. Mi hijo menor… que espero que se parezca al «10» (futbolisticamente  hablando no?) 😀


Si, hoy 03 de Octubre mi Dieguito cumple su primer añito de vida… y no quería dejar de pasar esta oportunidad para decirle al mundo lo mucho que lo quiero y lo feliz que me siento en este día tan especial.


La celebración la dejo para el fin de semana. Hoy más bien pensamos estar en la intimidad (jejeje) de nuestro hogar cantandole cumpleaños a Dieguito….


Hijo si algún día lees esto sabrás lo mucho que te quiero…


Acá les dejo una foto de mis dos querubines: Diego & Oscar


F


Saludos y cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

De vuelta a la Universidad…

Sip. Volví a mi alma mater… 17 años después…. lo bueno es que no se me olvidó el camino y menos donde comprar cafecito caliente…


El pasado Lunes 01 de Octubre, estuve junto a Davida Delgado (MS) y Alexander Jiménez (MS Student… no se que, siempre les cambian el nombre) dictando una conferencia en la Universidad Nueva Esparta, en el marco de un Festival de Instalación MS.


De verdad que me quede sorprendido de que sigue igual a como la deje en 1990… bueno espero que los salones, equipos y algunos profesores hayan cambiado… fue como una especie de retorno al pasado, apenas entré me pareció ver a algunos de mis amigos y amigas charlando en la entrada del rectorado o tomando el desayuno en la cantina…. y hasta me senti mas delgado  y con una prominente melena…. bueno, el efecto duró poco, pero en sintesis fue muy reconfortante volver a mi antugua casa de estudios.. Debo mencionarles que no fui estudiante de la sede de los Naranjos, si no más bien de la sede del Centro de Caracas, solo que me toco asistir a varias clases en esta sede y cuando fui miembro del equipo de futbolito me toco muchas tardes ir a practicar allá…


Bueno, a lo que nos importa…


Les comento que me dio una gran alegría al ver cerca de 300 jovenes avidos de conocimientos, fue una audiencia bastante buena ya que cerca del 90% de los jovenes se mostraron muy interesados en los temas que tocamos.


A mi me toco hablarles sobre WPF. Las personas que esten interesadas en la presentación, pueden descargarla haciendo clic aqui. Si alguno de Uds. esta interesado en los demos, posteen un comentario y por allí nos ponemos de acuerdo


Espero estar de vuelta por allá en poco tiempo.


Acá les dejo algunas fotos que tome:


IMAGE_00030 IMAGE_00033


IMAGE_00032 IMAGE_00031


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran