Вы находитесь на странице: 1из 18

ADO.

NET C#
Conexin a una BD mediante un archivo App.config Cuando realizamos una conexiona a una base de datos por lo regular hacemos lo siguiente:
using using using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Data; System.Data.SqlClient; System.Configuration;

2010

namespace Sample_AppConfig { class Conexion { private string cadena = "Data Source=Developer-PC; Initial Catalog=SMARTDEVICE; Integrated Security=SSPI;"; private SqlConnection conexion = null; public void ConectarToDB() { try { conexion = new SqlConnection(); conexion.ConnectionString = cadena; conexion.Open(); if (conexion.State == ConnectionState.Open) { Console.WriteLine("Conexion Abierta..."); } } catch (SqlException ex) { Console.WriteLine(ex.Message); } finally { if (conexion.State == ConnectionState.Open) { conexion.Close(); Console.WriteLine("Conexion Cerrada..."); } } } } }

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#

2010

Este cdigo debe estar repitindose cada vez que deseamos conectarnos a la base de datos, para evitar esto tenemos un archivo llamada App.config es este archivo configuramos la cadena de conexin a la base de datos, permitiendo la portabilidad. 1.- A continuacin creamos un proyecto en visual studio y establecemos como nombre SampleAppConfig:

2.- agregamos un nuevo elemento al proyecto :

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
3.- y seleccionamos Application Configuration File:

2010

Ahora editamos la propiedad del archivo de configuracin:


<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="smartdevice" connectionString="Data Source=Developer-PC; Initial Catalog=SMARTDEVICE; Integrated Security=SSPI;" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration>

17 de noviembre de 2010

En la configuracin se especifica el nombre de la conexin por el cual podemos hacer uso de la cadena de conexin, configuramos la cadena de conexin a la base de datos y especificamos el proveedor de base de datos en nuestro caso ser el de SQL Server.

Student Clubs UT Technology

ADO.NET C#

2010

En el siguiente paso creamos una clase llamada conexin, y escribiremos el cdigo para conectarnos a la base de datos, tambin usaremos la directiva using que permite liberar automticamente el espacio en memoria y cerrar la conexiona a la base de datos. A la clase conexin debemos agregar los siguientes espacios de nombres: System.Data; System.Data.SqlClient, System.Configuration y la referencia System.Configuration. Agregando la referencia System.Configuration:

Una vez agregado la referencia, escribimos el condigo para la conexin:

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
using using using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Data; System.Data.SqlClient; System.Configuration;

2010

namespace Sample_AppConfig { class Conexion { private SqlConnection conexion = null; private ConnectionStringSettings cadena = null; public void ConectarToDB() { try { cadena = ConfigurationManager.ConnectionStrings["smartdevice"]; using (conexion = new SqlConnection()) { conexion.ConnectionString = cadena.ConnectionString; conexion.Open(); if (conexion.State == ConnectionState.Open) { Console.WriteLine("Conexion abierta.."); Console.WriteLine("\nBase de datos: {0}", conexion.Database); Console.WriteLine("Origen de datos: {0}", conexion.DataSource); Console.WriteLine("Servidor: {0}", conexion.WorkstationId); Console.WriteLine("Version: {0}", conexion.ServerVersion); Console.WriteLine("\nCadena Conexion: {0}", conexion.ConnectionString); } } } catch (SqlException ex) { Console.WriteLine(ex.Message); } finally { if (conexion.State == ConnectionState.Closed) { Console.WriteLine("\nConexion cerrada"); } } } } }

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
Despus creamos un objeto de la clase Conexion en la clase Program:
using using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Data.SqlClient; System.Data;

2010

namespace Sample_AppConfig { class Program { static void Main(string[] args) { Conexion conexion = new Conexion(); conexion.ConectarToDB(); } } }

Si queremos ocupar la conexin en otro proyecto nicamente usamos la clase conexin y el archivo de aplicacin de configuracin App.config. Ahora ejecutamos el proyecto con F5:

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C# Conectar MySQL mediante C#.

2010

En otro tutorial vimos como conectar java a MySQL, ahora mostraremos cono conectar C# con MySQL, para conectarnos debemos descargar un controlador llamado MySQL Connecto Net 6.23, lo podemos descargar aqu: MySQL Connector Net 6.23. 1.- Cree un poryecto en visual studio y nombrarlo MySQLSampleCS. 2.- ahora debemos agregar la referencia MySql.Data y System.Configuration:

17 de noviembre de 2010

Ahora debemos importar los siguientes espacios de nombres:


using MySql.Data.MySqlClient; using System.Configuration; using System.Data;

La configuracin de la conexin a la base de datos lo vamos a realizar mediante un archivo app.config como se explic en el tutorial pasado. Agregamos el archivo app.config al proyecto y escribimos la cadena de conexin:

Student Clubs UT Technology

ADO.NET C#

2010

<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="sysclient" connectionString="server=127.0.0.1; uid=root; pwd=itsql; database=sysclient;" providerName="MySql.Data.MySqlClient"/> </connectionStrings> </configuration>

En la cadena de conexin (connectionString) se especifica el servidor server=127.0.0.1 (es igual a localhost), el usuario uid=root, la contrasea pwd=itsql, y la base de datos database=sysclient. Ahora escribimos el cdigo para conectarnos a la base de datos en el mtodo Main(): 1.- recuperamos la cadena de conexin:
ConnectionStringSettings cadena = ConfigurationManager.ConnectionStrings["sysclient"];

2.- creamos la conexin a la base de datos:


using (MySqlConnection conexion = new MySqlConnection()) { conexion.ConnectionString = cadena.ConnectionString; conexion.Open(); if (conexion.State == ConnectionState.Open) { Console.WriteLine("Conexion abierta..."); Console.WriteLine("\nBase de datos: {0}", conexion.Database); Console.WriteLine("Origen: {0}", conexion.DataSource); Console.WriteLine("Server: {0}", conexion.ServerVersion); Console.WriteLine("Cadena Conexion: {0}", conexion.ConnectionString); } }

17 de noviembre de 2010

3.- creamos un comando para recuperar informacion de una tabla:


MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion; comando.CommandText = "Select * from producto;"; comando.CommandType = CommandType.Text;

Student Clubs UT Technology

ADO.NET C#
4.- una vez creado el comando, debemos recuperar los datos con un MySqlDataReader:
MySqlDataReader reader = comando.ExecuteReader();

2010

Console.WriteLine("\nCodigo".PadRight(10) + "Producto".PadRight(10) + "Precio".PadRight(10) + "descripcion\n"); while (reader.Read()) { Console.Write(reader["codigo"].ToString().PadRight(10)); Console.Write(reader["producto"].ToString().PadRight(10)); Console.Write(reader["precio"].ToString().PadRight(10)); Console.Write(reader["descripcion"]); Console.WriteLine(); } reader.Close();

Cdigo Completo:

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
using using using using using using using System; System.Collections.Generic; System.Linq; System.Text; MySql.Data.MySqlClient; System.Configuration; System.Data;

2010

namespace MySQLSampleCS { class Program { static void Main(string[] args) { ConnectionStringSettings cadena = ConfigurationManager.ConnectionStrings["sysclient"]; try { using (MySqlConnection conexion = new MySqlConnection()) { conexion.ConnectionString = cadena.ConnectionString; conexion.Open(); if (conexion.State == ConnectionState.Open) { Console.WriteLine("Conexion abierta..."); Console.WriteLine("\nBase de datos: {0}", conexion.Database); Console.WriteLine("Origen: {0}", conexion.DataSource); Console.WriteLine("Server: {0}", conexion.ServerVersion); Console.WriteLine("Cadena Conexion: {0}", conexion.ConnectionString); } MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion; comando.CommandText = "Select * from producto;"; comando.CommandType = CommandType.Text; MySqlDataReader reader = comando.ExecuteReader(); Console.WriteLine("\nCodigo".PadRight(10) + "Producto".PadRight(10) + "Precio".PadRight(10) + "descripcion\n");

17 de noviembre de 2010

while (reader.Read()) { Console.Write(reader["codigo"].ToString().PadRight(10)); Console.Write(reader["producto"].ToString().PadRight(10)); Console.Write(reader["precio"].ToString().PadRight(10)); Console.Write(reader["descripcion"]); Console.WriteLine(); } reader.Close(); Console.ReadKey(); } } catch (MySqlException ex) { Console.WriteLine(ex.Message); } } }

Student Clubs UT Technology

ADO.NET C#
Ejecutamos con F5:

2010

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#

2010

Hola, en esta ocasin me gustara platicarles un poco sobre ADO.NET y mostrarles un ejemplo sencillo para conectarnos a una base de datos. Bueno que es ADO.NET? ADO. NET es una familia de tecnologas que permiten a los desarrolladores de .NET interactuar con datos estndar, estructurados y primordialmente desconectados. ADO.NET maneja dos tipos de datos internos y externos, la primera hace referencia a los que son creados en memoria y usados nicamente dentro de una aplicacin y la segunda es cuando los datos son almacenados en un rea aparte de la aplicacin, como puede ser en una base de datos relacional. A continuacin mostraremos el ejemplo. Como primer paso crearemos una base de datos:

USE master GO IF EXISTS (SELECT 'True' FROM sys.databases WHERE name = 'SMARTDEVICE') BEGIN DROP DATABASE SMARTDEVICE PRINT 'Base de Datos borrada' END GO CREATE DATABASE SMARTDEVICE GO USE SMARTDEVICE GO

Primero verificamos que nuestra base de datos no exista, si esta existe la borramos y creamos la base de datos llamada SMARTDEVICE. Ahora creamos las tablas, las relacionamos e insertamos datos a las tablas.
CREATE TABLE Cliente ( dni INT NOT NULL IDENTITY(1,1), nombre VARCHAR(30) NOT NULL, apellido VARCHAR(45) NOT NULL, fecha_nacimiento DATE NOT NULL, telefono VARCHAR(15) NULL ) GO ALTER TABLE Cliente ADD CONSTRAINT PK_Cliente_dni PRIMARY KEY(dni) GO CREATE TABLE ( codigo nombre precio ) GO Producto INT NOT NULL IDENTITY(1,1), VARCHAR(30) NOT NULL, FLOAT NOT NULL DEFAULT 0.0

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#

2010

ALTER TABLE Producto ADD CONSTRAINT PK_Producto_Codigo PRIMARY KEY(codigo) GO CREATE TABLE Proveedor ( nif VARCHAR(40) NOT NULL, nombre VARCHAR(30) NOT NULL, direccion VARCHAR(50) NOT NULL ) GO ALTER TABLE Proveedor ADD CONSTRAINT PK_Proveedor_nif PRIMARY KEY(nif) GO

Insertamos los datos con la siguiente instruccin SQL.

INSERT INTO Cliente(nombre, apellido, fecha_nacimiento, telefono) VALUES('Antonio','Hernandez Martinez','1989-03-25','921-102-6831') INSERT INTO Cliente(nombre, apellido, fecha_nacimiento, telefono) VALUES('Sara','Ramirez Sandoval','1996-10-26','921-112-2089') GO

Ya tenemos creada nuestra base de datos, ahora desarrollaremos nuestra aplicacin en c#. Abrimos el Visual Studio 2010 y creamos un nuevo de tipo Aplicacin de formulario de ventanas, le establecemos como nombre SysClient:

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
Colocamos en el formulario los siguientes controles: Control DataGridView ComboBox Boton Boton Boton Boton Label TextBox GroupBox Nombre dgvDatos cbxNombre Propiedad Name Name

2010

Dato txtDato Vista De Datos

Text Name Text

Ahora realizaremos la conexin a la base de Datos. En el men Datos seleccionamos la opcin agregar origen de datos.

17 de noviembre de 2010

Seleccionamos la opcin Database y le damos en siguiente. Seleccionar la opcin Dataset y siguiente:

Student Clubs UT Technology

ADO.NET C#

2010

Ahora agregamos una nueva conexin, dando clic en el botn Nueva Conexin. Y seleccionamos la opcin Microsoft SQL Server y dar clic en continuar:

17 de noviembre de 2010

Ahora agregamos la conexin, podemos realizarla de 2 maneras una va autenticacin SQL Server y la otra va autenticacin Windows. Si seleccionamos la primera nos pedir la contrasea que le establecimos a nuestro usuario en SQL Server y si es la segunda tomara las credenciales de Windows y nos conectara al motor de base de datos.

Student Clubs UT Technology

ADO.NET C#

2010

En nuestro caso seleccionaremos autenticacin Windows. Especificamos el nombre de nuestro servidor por mi parte mi servidor es Developer-PC y seleccionamos la base de datos que creamos SMARTDEVICE. Damos clic en probar conexin para verificar si hay conexin a la base de datos.

Si la prueba fue realizada con xito, damos clic en ok, nos aparece la venta con el nombre de la conexin. Damos clic en siguiente

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#

2010

La siguiente ventana nos pregunta si queremos guardar la configuracin de nuestra conexin a un archivo de aplicacin de configuracin. Damos clic en siguiente. Ahora seleccionaremos las tablas que ocuparemos en nuestra aplicacin. Seleccionamos la opcin Tablas y se marcan las tres tablas que creamos y por ultimo damos clic en finalizar.

Ahora vamos a configurar el DataGridView, lo seleccionamos y en la propiedad DataSource agregamos el origen de datos :

17 de noviembre de 2010

Student Clubs UT Technology

ADO.NET C#
Buscamos la propiedad DataMember Del DataGridView y seleccionamos la Tabla Producto.

2010

Ahora vamos a crea un mtodo dando doble clic en botn Mostrar Todo y escribir lo siguiente:

17 de noviembre de 2010

Student Clubs UT Technology

Вам также может понравиться