Ir al índice de .NET ADO.NET
 

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

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

Si quieres ver estas explicaciones para Visual Basic 2008 Express


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 y Visual C# 2005 Express.

 

Introducción:

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 y Visual C# 2005 Express.

Porque, por si no lo sabes, con las versiones Express de Visual Basic o Visual C# solo puedes crear DataSet tipados con bases de datos en ficheros, ya sean de Access o de SQL Server.

Al menos, claro está que no tengas el Visual Studio 2005 "normal", es decir, el de pago, ya que con esa versión no tendrás problemas. Pero si estás usando las versiones Express (que son gratuitas), pues debes hacer lo que aquí te explico si en lugar de usar una base de datos de SQL Server en un fichero, la quieres usar definiéndola en el propio "servidor", en este caso en el creado por el SQL Server 2005 Express.
Porque con la versión avanzada de SQL Server 2005 Express puedes usar el Management Studio Express para crear y manejar las bases de datos en la instancia que se crea al instalarlo, normalmente, con el nombre SQLEXPRESS.

 

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 las versiones Express de Visual Basic 2005 o Visual C#, de forma que te permita crear un DataSet tipado usando el asistente de Agregar nuevo origen de datos, de forma que puedas crear un formulario para mostrar/introducir los datos de forma fácil.

Ya sabes, (y si no lo sabes, te lo digo ahora), que a mi no me gusta usar el acceso a datos con el DataSet tipado que crea el asistente, y por tanto, tampoco me gusta usar el BindingNavigator usado para añadir y demás cosas de los registros de la tabla... realmente no me gusta nada que tenga "olor" a "data binding", pero... creo que para muchos es más fácil de usar que escribir todo el código a mano.

Pero de lo que se trata no es de explicarte cómo crear ese formulario con acceso "automatizado" a una base de datos, sino cómo usar una base de SQL Server que no solo sea en un fichero... que dicho sea de paso, si no se tiene cuidado al usarla desde el IDE te puede parecer que no funciona... pero esa es otra historia.

 

Los antecedentes

Cuando quieres usar el asistente para agregar un nuevo origen de datos y poder crear un DataSet, por ejemplo, a partir de una tabla de una base de datos. En las versiones Express de Visual Basic o Visual C# solo te permite crear una base de datos que esté en un fichero. Por ejemplo, en la figura 1 está la parte del asistente que te permite indicar (o crear) el fichero de la base de datos que quieres usar:

Figura 1. Indicar el fichero de la base de datos a usar
Figura 1. Indicar el fichero de la base de datos a usar

Como puedes ver, solo permite agregar un fichero, ya sea uno existente o uno nuevo.

En las versiones "normales" de Visual Studio 2005, pulsando en el botón "Cambiar" de esa pantalla, puedes elegir si será un fichero una base de datos que esté alojada en un servidor de SQL Server, pero tal como puedes ver en la figura 2, no hay opciones para otra cosa que no sea una base que esté en un fichero, ya sea de SQL Server o de Access.

Figura 2. En las versiones Express el origen de datos debe ser un fichero
Figura 2. En las versiones Express el origen de datos debe ser un fichero

Pues bien, ahora te explico cómo "engañar" al Visual 2005 Express para que nos permita crear un DataSet tipado usando el asistente de Agregar nuevo origen de datos, pero que permita que sea una base de datos "normal", es decir, que no esté en un fichero. Por supuesto esa base de datos ya debe estar creada y alojada en el servidor de SQL Server 2005 Express que tendremos en nuestro equipo.

 

Nota:
En los pasos que te indico a continuación se supone que existe una base de datos de SQL Server 2005 Express llamada conImagenes2. Para crear esa base de datos, puedes usar el Management Studio Express que se incluye con la versión avanzada de SQL Server 2005 Express, que también es gratuito.

 

Los pasos

Ahora sí, veamos los pasos que debes dar.

  1. Lo primero que debes hacer es crear un nuevo proyecto del tipo aplicación de Windows. En estos pasos he usado el Visual Basic 2005 Express, pero te servirá igualmente el Visual C# 2005 Express, si es que ese es tu lenguaje preferido.
  2. Muestra la ventana Orígenes de datos, que si no la tienes visible, puedes mostrarla desde el menú Datos y pulsando en la opción Mostrar orígenes de datos.
  3. Habrá un link como el mostrado en la figura 3, con el texto Agregar nuevo origen de datos. Pulsa en ese link.

Figura 3. Agregar nuevo origen de datos
Figura 3. Agregar nuevo origen de datos

  1. Eso mostrará el asistente para la configuración de orígenes de datos (figura 4).
  2. 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

  1. 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 una conexión
Figura 5. Elegir una conexión

  1. Cuando pulsas en ese botón de "Nueva conexión", te pide la base de datos que quieres usar, pero en un fichero, tal como ya viste en la figura 1.
  2. En la casilla del nombre, escribe lo que quieras, en mi caso, (tal como ves en la figura 1), he puesto nueva, pero puedes poner lo que quieras, ya que eso solo nos sirve para "confundir al enemigo", je, je.
  3. Pulsa en Aceptar y volverá a la pantalla anterior (como la de la figura 5), pero en este caso, en el nombre de la conexión pondrá nueva.mdf (si en lugar de nueva has puesto otra cosa, pues te pondrá lo que hayas escrito en el paso 8 además de la extensión .mdf.
  4. Te saldrá un aviso de que la conexión actual utiliza un archivo de datos local, bla, bla, pulsa en Si.
  5. A continuación te mostrará una ventana como la de la figura 6, en la que te pregunta si quieres guardar la cadena de conexión, y te dice el nombre que se usará. Pulsa en Siguiente, ya que esta es la parte más importante de todo este "tinglado".

Figura 6. Guardar la cadena de conexión
Figura 6. Guardar la cadena de conexión

  1. Después te mostrará algo como lo de la figura 7, simplemente pulsa en Finalizar.

Figura 7. Ultimo paso del asistente
Figura 7. Ultimo paso del asistente

  1. Una vez finalizado el asistente para configurar el origen de datos, en el Explorador de soluciones estarán los ficheros mostrados en la figura 8. Recuerda que esa captura es de Visual Basic, en C# seguramente tendrás otras cosas, tal como puedes ver en la figura 9.

Figura 8. Los ficheros creados por Visual Basic 2005 Express
Figura 8. Los ficheros creados por Visual Basic 2005 Express

Figura 9. Los ficheros creados por Visual C# 2005 Express
Figura 9. Los ficheros creados por Visual C# 2005 Express

  1. Ahora debemos eliminar lo que no nos hace falta, en particular los siguientes ficheros:
    La base de datos (nueva.mdf) y el DataSet tipado (nuevaDataSet.xsd).
  2. NO BORRES el fichero app.config, y si no está en los ficheros, como ocurre en la figura 9, no te preocupes.
  3. Haz doble clic en las propiedades del proyecto (My Project en Visual Basic, Properties en C#) para que se muestren las propiedades del proyecto.
  4. 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.
  5. 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 se llama conImagenes2 y tal como puedes ver en la figura 10, la cadena de conexión es:
    Data Source=.\SQLEXPRESS; Initial Catalog=conImagenes2; Integrated Security=True.

Figura 10. Los valores de Configuración con la cadena de conexión
Figura 10. Los valores de Configuración con la cadena de conexión

  1. Cierra esa ventana y guarda los cambios si te pregunta.
  2. Si no tenías el fichero app.config, se habrá creado uno con esa cadena de conexión, y si ya lo tenías, verás que la nueva cadena de conexión estará almacenada en ese fichero.

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

  1. 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.
  2. En la ventana Orígenes de datos (figura 3), pulsa en Agregar nuevo origen de datos.
  3. Te mostrará el asistente (figura 4), ya sabes, pulsa en Base de datos.
  4. En el siguiente paso (figura 11), usamos la cadena de conexión que hemos modificado, (ya estará seleccionada, por tanto simplemente pulsa en Siguiente).

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

  1. 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 12.

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

  1. A partir de aquí, pues no es más que seguir los pasos habituales.
  2. 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.
  3. Pero ese tema sería algo para otro artículo, por ejemplo, como el que te pondré en unos días para usar imágenes de una base de datos de SQL Server 2005 Express, aunque en esa ocasión será sin asistentes.

 

Espero que te sea de utilidad.

Nos vemos.
Guillermo

 


 

Ir al índice principal de el Guille

Valid XHTML 1.0 Transitional