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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 Sí, 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
- Al pulsar en el botón Sí, 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
- 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
Sí.
- 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...
- Después de pulsar en Sí (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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.