[WPF] Conectándome a una Base de Datos SQL
Un pequeño ejemplo de como hacer esto en una aplicación en WPF, esto debido a una pregunta dentro de este Blog. Lo primero que pensé cuando me preguntaron como hacer esto fue: “Es lo mismo que en Aplicaciones para Windows”. Y aquí un ejemplo sencillo.
Primero nos vamos a SQL Management Studio nos conectamos a nuestro motor de base de datos y creamos una Base sencilla, con una tabla y agregamos valores, esto con la siguientes instrucciones:
--Creamos la base de datos CREATE DATABASE BdWPFEjemplo GO --Indicamos que vamos a trabajar sobre esta nueva bd USE BdWPFEjemplo GO -- Creamos una tabla CREATE TABLE Alumnos (nombre NVARCHAR(50), apellido NVARCHAR(50), edad INT) GO --Asignamos algunos valores a nuestra tabla INSERT INTO Alumnos VALUES ('Norberto','Rojas',23)
Ya que tenemos nuestra BD, lo que sigue es crear nuestro proyecto de WPF. Una vez aquí lo que vamos a hacer es escribir la siguientes líneas en nuestro archivo app.config
<appSettings> <add key="cnx" value="Data Source=.\SQLNOR; Initial Catalog=BdWPFEjemplo; Persist Security Info=True; User ID=*****; Password=*****" /> </appSettings>
Ahora solo falta ver que es lo que queremos hacer, si solo una consulta, un actualización una inserción o ejecutar algún Procedimiento almacenado que realice una combinación de las acciones antes mencionadas. Para el nuestro caso como es un ejemplo sencillo solo ejecutaremos un SELECT común para mostrar el nombre de los alumnos (en este caso solo el mío) primero agregamos el código para nuestra conexión que es este:
private SqlConnection myConexion() { return new SqlConnection(ConfigurationSettings.AppSettings["cnx"]); }
Ya con esto solo ejecutaremos nuestra instrucción SELECT con un command y listo. El código es el siguiente:
private void Window_Loaded(object sender, RoutedEventArgs e) { try { SqlConnection conn = myConexion(); SqlCommand comm = new SqlCommand("SELECT nombre FROM Alumnos", conn); conn.Open(); txtNombreAlumno.Text = comm.ExecuteScalar().ToString(); comm.Dispose(); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Y si generamos y ejecutamos este es el resultado:
Y como pueden ver, el hecho de conectarte a una base de datos, ya sea desde una aplicación de WPF, una aplicación para Windows, un Web Services o alguna aplicación de ASP.NET el proceso es el mismo, y debe de funcionar igual para todo. Espero que este sencillo post les sea útil. Amito Arturo aquí el ejemplo que me pedias, espero que te ayude y cualquier cosa no dudes en comentarlo o pedir ayuda en el Blog.
Slaudos!






hhheeeeeeeeeee gracias de verda
la verda es que solucionaste mi problema sigue asi
Ahora tengo otra duda claro si se puede ?????????
bueno de tosos modos te lo digo
como conecto una base de datos sql en microsoft expression blend
disculpa por el atrevimiento y te agradesco de antemano tu tiempo gracias
Ahh mira amigo, pues es lo mismo, porque recuerda que el proyecto que creas en Expression Blend lo puedes abrir en Visual Studio. Expression Blend solo te sirve para el diseño y la logica de negocios la haces desde VS
.
Igual y dame unos dias y hago una demo, para que me entiendas.
Saludos!!
Que tal,
Recuerda que Expression Blend solo es la herramienta para crear el layout de nuestras aplicaciones, es decir; solo nos sirve para la inerfaz grafica. El proyecto que creaste en VS lo puedes abrir en Expresison Blend sin problemas.
Saludos.
bueno hola amigo saves tnego una duda ya se qeu WPF solo es diseño peor quiero saber en que parte inserto el codigo BV o C# quisera una imagenapr ver oddn entro por uqe ni idea ya tengo mi inteface de wpf en VS peor ahora quiero insertar codigo y mi DB poer no se por donde comenzar pueds ayudar ? gracias su pues ante mano ..
que tal desshi,
creo que no entendi bien tu duda, pero vale trato de contestar.
1.- si lo que quieres es integrar una imagen desde basde de datos, lo puedes hacer de 2 maneras diferentes con un campor en una tabla que se llama por ejmplo imagen de tipo bit que es como se guardan lasimagenes, o lo más recomendable que es que el campo sea de tipo nvarchar para guardar la ruta fisica de la imagen.
2.- si lo que quieres hacer es que en WPF ingreses una imagen, utiliza el control imagen y con la propiedad src asiganas la ruta de la imagen y listo.
Espero que te sirva.
Saludos!!
Amigo disculpame, soy nuevo en esto,
pero cuando creo mi proyecto wpf no encuentro por ningun lado el archivo app.config donde debo poner la cadena de conexion?, como realizo esto?, gracias mil loco!!
Que tal sebenscen,
cierto, no lo agrega por defaul Visual Studio a tu proyecto, pero para agregarlo lo haces dando clic derecho en el explorador de soluciones al proyecto, agregar nuevo elemento y ahi viene la opción de agregar el app.config y ya lo puedes usar.
Saludos.
Buenas!
Me parece interesante tu aporte, weno al menos a lo que he tratado de averiguar , es el que mas se asemeja a mi inconveniente (al nuestro, mejor dicho, ya q somos un grupo x))
Lo que pasa esq, estamos desarrollando unos sistemas, y últimamente me he enterado de esta fascinante manera de programar y diseñar independientemente (weno así leí por ahí), algo asi como el q tienen en las webs, (con sus hojas de estilo en cascada)
Como ya te imaginaras, nos hemos familiarizado en la manera de programar en Ncapas (c#), y diseñar con su tradicional manera (no tan precisa ni atractiva). Es por eso q nos interesa aprender esta manera de presentar los formularios, a quien no le gustaría?
Hemos indagado tu código y de otros mas de todas las formas y, no encuentro la manera de que nos pinte la data de la Base de Datos a la presentación WPF, nos interesa mas llenar una listView o un DataGridView, pero nada de nada …
, nose que es lo pasa
No trato de aprovecharme de tu nobleza, es demasiado con tremendo aporte q nos brindas aki y, el tiempo q nos compartes, el mas estoy muy agradecido, pero sino fuera mucha la molestia, de poder brindarme un tutorial o algo q me ayude a corregir estos errores q talvez tenga (q de seguro son insignificantes), o mejor aun un proyecto de estos q este seguro q si corren de verdad, sino fuera mucha la molestia por favor.
Gracias de todas maneras
Carloz (Perú)
@Carloz,
Muchas gracias por escribir, claro que puedo ayudar solo aclarame bien lo que necesitas, segun entendi es como mostrar datos de una tabla de un BD en un grid o en list view dentro de WPF?. Solo confirma y con gusto coloco un ejemplo de como hacer o en su caso aclarame que es lo que pretendes hacer con tu sistema.
Saludos.
Hola a todos espero que alguien me pueda ayudar. Estoy haciendo un sistema en Silverlight 3, uso wcf y wpf, necesito saber como puedo conectar mi wpf con wcf para poder ver los datos de las tablas de sql que estan un un servidor web.
Que tal Edwin…
bueno si usas Silverlight puedes echar mano de como trabaja con WCF y aplicarlo para WPF, es decir; mediante el uso de WebService, realiza web services para consultar, acutalizar y eliminar registros de tu base, tomando en cuenta que haces esto con silverlight y ya tienes WCF implementado sería lo más fácil.
Saludos.
hola a todos. tengo un error segui todos los pasos pero entra en el try catch me dice que la propiedad ConnectionString no se a inicializado. espero que me puedad ayudar.
cual quier colaboracion estes es mi correo luisgt14@hotmail.com si alguien tiene el proyecto si me lo puede mandar para revisar el codigo a ver si encuentro mi error
Puedes hacer lo mismo pero con un Grid? esto es algo de lo que hay poca info