el Guille, la Web del Visual Basic, C#, .NET y más...

Cómo usar una base de datos SQL Server para crear un DataSet tipado con Visual Basic 2008 Express

 
Publicado el 01/Mar/2008
Actualizado el 01/Mar/2008
Autor: Guillermo 'guille' Som

En este artículo te voy a explicar el truco para usar una base de datos de SQL Server 2005 Express para crear un DataSet tipado (y usar los asistentes de acceso a datos) con Visual Basic 2008 Express. Aunque los pasos mostrados son para Visual Basic 2008 Express, esto mismo también es válido para Visual C# 2008 Express.

 


 

Introducción:

En este artículo te voy a explicar "el truco" para usar una base de datos de SQL Server 2005 para crear un DataSet tipado (y usar los asistentes de acceso a datos) con Visual Basic 2008 Express.

Seguramente te pienses que no hay nada especial que hacer... pero... por si no lo sabes, con las versión Express de Visual Basic 2005/2008 solo puedes crear DataSet tipados con bases de datos que estén en un fichero (archivo), ya sean de Access o de SQL Server.

Recuerda que esto solo es válido para la versión Express de Visual Basic 2008 (también de C# Express), ya que con la versión "normal" (la de pago) de Visual Studio 2008 si se pueden usar bases de datos de cualquier tipo.

 

El quid de la cuestión...

Te voy a explicar paso a paso que es lo que tienes que hacer. Recuerda que todo esto es para usar una base de datos de SQL Server 2005 desde la versión Express de Visual Basic 2008 (o Visual C# 2008), de forma que te permita crear un DataSet tipado usando el asistente de Agregar nuevo origen de datos, para que puedas crear un formulario para mostrar/introducir los datos de forma fácil.

 

Los pasos

Veamos qué tenemos que hacer para añadir una conexión a una base de datos que está en la instancia SQLEXPRESS de SQL Server 2005.

Nota:
En estas explicaciones asumo que tienes instalado Visual Basic 2008 Express Edition y SQL Server 2005 Express. El Visual Basic 2008 Express es gratuito y cuando lo instalas, también te instala el motor de SQL Server 2005 Express, por tanto, tendrás instalado todo lo necesario para seguir estos pasos.

Aunque los pasos mostrados son para Visual Basic 2008 Express, esto mismo también es válido para Visual C# 2008 Express.

Nota:
Todas las capturas están hechas usando un Windows Vista Business en español instalado en una máquina virtual. La versión de Visual Basic 2008 Express es también en español.

  • Lo primero que debes hacer es crear un nuevo proyecto del tipo aplicación de Windows, que tal como puedes ver en la figura 1, le he dado el nombre UsarBaseSQLenVBExpress2008 (pero puedes darle el nombre que quieras).

Figura 1. Crear un nuevo proyecto de Windows Forms
Figura 1. Crear un nuevo proyecto de Windows Forms

  • Una vez creado el proyecto, desde el menú Datos, selecciona la opción Agregar nuevo origen de datos, tal como vemos en la figura 2. Con esto iniciaremos el asistente para la configuración de orígenes de datos.

Figura 2. Agregar un nuevo origen de datos
Figura 2. Agregar un nuevo origen de datos

  • También puedes iniciar el asistente desde la ventana Orígenes de datos, en esa ventana, tal como puedes comprobar en la figura 3, también puedes iniciar el asistente, pulsando en el enlace de Agregar nuevo origen de datos.

Figura 3. Agregar nuevo origen de datos desde Orígenes de datos
Figura 3. Agregar nuevo origen de datos desde Orígenes de datos

  • Eso mostrará el Asistente para la configuración de orígenes de datos tal como puedes ver en la figura 4.
  • Pulsa en la primera opción: Base de datos y pulsa en Siguiente.

Figura 4. Asistente para la configuración de orígenes de datos
Figura 4. Asistente para la configuración de orígenes de datos

  • En el siguiente paso, te mostrará una pantalla como la de la figura 5 en la que te pregunta que conexión quieres usar, pero como no hay ninguna, tendrás que pulsar en Nueva conexión.

Figura 5. Elegir Nueva conexión
Figura 5. Elegir Nueva conexión

  • Cuando pulsas en ese botón de "Nueva conexión", te mostrará una ventana como la de la figura 6, en la que te pide que utilices SQL Server Compact 3.5, pero esa no es la que nos interesa, así que debes pulsar en el botón Cambiar.
    (Si no te sale esa opción si no la mostrada en la figura 8, te puedes saltar el siguiente paso.)

Figura 6. Inicialmente ofrece crear una conexión con SQL Server Compact 3.5
Figura 6. Inicialmente ofrece crear una conexión con SQL Server Compact 3.5

  • Al pulsar en el botón Cambiar de la pantalla mostrada en la figura 6, te dará a elegir origen de datos, y tal como vemos en la figura 7, debes elegir Archivo de base de datos de Microsoft SQL Server de la lista que hay bajo la etiqueta Origen de datos.
  • Si quieres que se quede seleccionada esa opción para futuras bases de datos que vayas a crear, puedes seleccionar la opción Utilizar siempre esta selección, que está abajo a la izquierda.

Figura 7. Cambiar el origen de datos
Figura 7. Cambiar el origen de datos

  • Al pulsar en Aceptar, te mostrará la ventana de la figura 8.
  • En la casilla Nombre del archivo de la base de datos (nuevo o existente), escribe lo que quieras, en mi caso, tal como ves en la figura 8, he puesto nueva, pero puedes poner lo que quieras, ya que eso solo nos sirve para "confundir al enemigo", je, je.
    • De todas formas, si no quieres liarte más de la cuenta, deja ese mismo nombre, ya que el resto de pasos tendrán en cuenta el nombre que pongamos en ese textbox.

Figura 8. Agregar conexión a una base de datos de SQL Server en un archivo
Figura 8. Agregar conexión a una base de datos de SQL Server en un archivo

  • Después de pulsar en Aceptar te mostrará un aviso parecido al de la figura 9, indicando que esa base de datos no existe y si quieres crearla, es importante que pulses en el botón , ya que si pulsas en el botón No, se cancela el asistente.
    • Si se cancela el asistente, porque has pulsado en el botón No, tendrás que empezar nuevamente desde el paso de Agregar nuevo origen de datos.

Figura 9. Si la base indicada no existe, pedirá que la creemos
Figura 9. Si la base indicada no existe, pedirá que la creemos

  • Al pulsar en el botón , pasará a la pantalla como la de la figura 5, pero mostrando la nueva conexión creada, tal como ves en la figura 10.
    Si quieres ver la cadena de conexión, debes expandir la opción que hay en Cadena de conexión, de esa forma, se mostrará tal como está en la figura 10.

Figura 10. Se crea la base de datos y la cadena de conexión
Figura 10. Se crea la base de datos y la cadena de conexión

  • Al pulsar en Siguiente, te saldrá un aviso parecido al de la figura 11 en el que te indica que la conexión actual utiliza un archivo de datos local, y si quieres que se copie cada vez que ejecutes el programa, pulsa en el botón .
    • Lo que hagas en este paso, es importante si decides crear bases de datos a partir de ficheros, ya que esta "característica" vuelve loco a muchos, sobre todo a los menos "expertos", ya que esto significa que cada vez que ejecutes la aplicación se reemplazará el fichero de base de datos, por tanto, cualquier cambio que se haga en ese fichero se perderán.
    • Pero a nosotros este aviso nos trae sin cuidado, ya que esto solo afecta a las bases de datos creadas a partir de un fichero (o archivo), y como nosotros vamos a usar una base de datos de SQL Server que no está en un fichero, pues... nos da igual.

Figura 11. Aviso de que se usa una base de datos local...
Figura 11. Aviso de que se usa una base de datos local...

  • Después de pulsar en (o en No, da lo mismo lo que hagas en el aviso anterior), te mostrará una ventana como la de la figura 12, en la que te pregunta si quieres guardar la cadena de conexión, y te dice el nombre que se usará, que normalmente es el nombre de la base de datos seguida de ConnectionString, en nuestro ejemplo será nuevaConectionString, tal como ves en la figura 12.
  • Deja activada la opción Sí, guardar la conexión como y pulsa en Siguiente.
  • Es importante que dejes seleccionada la casilla Sí, guardar la conexión como, ya que esta es la parte más importante de todo este "tinglado" que te estoy explicando.

Figura 12. Es importante indicar que SI guarde la cadena de conexión
Figura 12. Es importante indicar que SI guarde la cadena de conexión

  • Cuando pulses en Siguiente, tendrás una ventana parecida a la de la figura 13.
  • Ese aviso que muestra es porque no hay nada en esa base de datos.
  • Escribe (o deja el texto mostrado como nombre del DataSet) y pulsa en Finalizar.
    • Si la base de datos que has indicado ya existía y tenía algo, te mostrará las tablas y demás cosas que tuviera.

Figura 13. Ultimo paso del asistente
Figura 13. Ultimo paso del asistente

  • Una vez finalizado el asistente para configurar el origen de datos, en el Explorador de soluciones estarán los ficheros mostrados en la figura 14.
  • De esos ficheros, debes borrar la base de datos y el DataSet, es decir, los ficheros nueva.mdf y nuevaDataSet.xsd. Pero NO BORRES el fichero app.config.

Figura 14. Explorador de soluciones con las cosas añadidas al proyecto
Figura 14. Explorador de soluciones con las cosas añadidas al proyecto

  • Haz doble clic en las propiedades del proyecto (My Project) para que se muestren las propiedades del proyecto.
  • En la ficha Configuración estará la cadena de conexión que se ha creado para la base de datos que hemos añadido, pero lo que nos interesa es que tenga la cadena correcta a la base que queremos utilizar.
  • Modifica ese valor para que tenga la cadena de conexión adecuada a la base de datos que quieres usar.
  • En mi ejemplo, la base de datos que voy a usar es Northwind y tal como puedes ver en la figura 15, la cadena de conexión es:
    Data Source=.\SQLEXPRESS; Initial Catalog=Northwind; Integrated Security=True;.
    • Si en vez de la base de datos Northwind quieres usar otra, escribe el nombre de esa base de datos después de Initial Catalog=.
    • Lo mismo con el servidor de SQL Server, si usas otra instancia o está en otro equipo, tendrás que escribir esos datos después de Data Source=.

Figura 15. Hay que modificar el valor de la cadena de conexión
Figura 15. Hay que modificar el valor de la cadena de conexión

  • Cierra esa ventana y guarda los cambios si te pregunta.

 

Nota:
Puede que pienses que podíamos haber creado una cadena de conexión sin más, pero no funcionaría lo que sigue a continuación, si tú lo has conseguido... pues bien por ti, pero yo siempre lo hago de esta forma.

 

Crear el DataSet tipado usando la nueva cadena de conexión

  • Lo siguiente que vamos a hacer es usar esa cadena de conexión para crear el DataSet tipado y así poder usarlo para crear un formulario de datos.
  • Desde el menú Datos o desde la ventana Orígenes de datos (figuras 2 y 3), pulsa en Agregar nuevo origen de datos.
  • Te mostrará el asistente (figura 4), ya sabes, pulsa en Base de datos.
  • En el siguiente paso (figura 16), como ya tenemos creada una conexión, la vamos a usar, esa conexión será la que te muestre en la pantalla del asistente, si no está, pues... ya sabes... la seleccionas y pulsa en Siguiente.

Figura 16. Usamos la cadena de conexión que hemos modificado
Figura 16. Usamos la cadena de conexión que hemos modificado

  • Y por medio de esa cadena de conexión, podremos acceder a la base de datos de SQL Server que queríamos, tal como puedes ver en la figura 17.
  • Yo he seleccionado la tabla Employees de la base Northwind, pero si usas otra base de datos, pues... utiliza la tabal, vista o el elemento que quieras de esa base de datos.

Figura 17. Ya tenemos los datos de la base de datos indicada en la cadena de conexión
Figura 17. Ya tenemos los datos de la base de datos indicada en la cadena de conexión

  • A partir de aquí, pues no es más que seguir los pasos habituales.
  • En la ventana de Orígenes de datos tendrás la tabla y podrás arrastrarla hasta el formulario para crear los controles, ya sean en modo DataGridView o en modo individual, según elijas.
  • Si no tienes la ventana Orígenes de datos, puedes mostrarla pulsando las teclas Mayúsc+Alt+D (en la versión en español) o bien desde el menú Datos (ver figura 2), selecciona Orígenes de datos.
  • Al mostrar esa ventana, verás que tienes los datos de las tablas que seleccionaste en el paso de la figura 17.
  • En mi caso, me muestra lo que ves en la figura 18.

Figura 18. En los orígenes de datos, tenemos las tablas que hemos añadido al DataSet
Figura 18. En los orígenes de datos, tenemos las tablas que hemos añadido al DataSet

  • Lo que puedes hacer con esos datos, es... tema para otro artículo ;-)))).

 

Nota:
Si quieres ver los pasos que habría que dar para hacer esto mismo (o casi) con la versión comercial de Visual Studio 2008, puedes ver este artículo: Añadir un DataSet (tipado) a un proyecto de Visual Studio 2008.

 

Espero que te sea de utilidad.

Nos vemos.
Guillermo

P.S.
Este artículo lo he cedido para su publicación en la revista de Ineta Latam.

 

 


Nota:
La mayoría del código de ejemplo, contienen más cosas de las indicadas en el título o link, por tanto te recomiendo que le eches un vistazo por si está lo que realmente andas buscando.

También quiero recordarte que en la mayoría de los casos, al menos en los links con fecha 15 de enero 2002 y posteriores en los que "el Guille" es el autor (yo), el mismo código se muestra tanto para Visual Basic como para C#, salvo casos muy concretos en los que se explican cosas específicas de cada lenguaje... o porque no he tenido tiempo de convertirlo, je, je.

Notas:
-El código mostrado en estas páginas es de libre uso, el único requisito para poder usarlo, es citar la procedencia del mismo.
-Para poder usar los tutoriales o los artículos, por ejemplo para publicarlos en otro sitio, tendrás que pedir autorización al autor antes de publicarlos (completo o en parte), y si es una colaboración, mándame copia de esa autorización a mi cuenta de correo: mensaje EN elguille.info.
Gracias.


 



 


La fecha/hora en el servidor es: 22/12/2024 17:03:42

La fecha actual GMT (UTC) es: 

©Guillermo 'guille' Som, 1996-2024