La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ejemplo en Access Como Acceder desde C# a una BD.

Presentaciones similares


Presentación del tema: "Ejemplo en Access Como Acceder desde C# a una BD."— Transcripción de la presentación:

1 Ejemplo en Access Como Acceder desde C# a una BD

2 Introducción Hasta ahora hacíamos persistir a los datos de un programa en archivos de texto. Pero ya aprendimos a crear una base de datos para guardar la información estructuradamente!! ¿Pero como hacemos para acceder desde c# a una base de datos creada en Microsoft Access?

3 Acceso a BD desde C# En principio lo que necesitamos es un proveedor que sepa interpretar el «lenguaje» de la Base de Datos y el de C#. Algo así como un traductor. Para este caso usaremos Microsoft.Jet.OleDB.4.0

4 Acceso a BD desde C# Creo la conexión a la base de datos string Proveedor = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Biblioteca.mdb"; OleDbConnection conn = new OleDbConnection(); Conn.ConnectionString = Proveedor; Conn.Open();

5 Creo el comando para ejecutar la consulta desde C# OleDbCommand command = conn.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = "SELECT Autor.Nombre AS NombreAutor, Autor.Apellido AS ApellidoAutor FROM Autor"; O command.CommandType = CommandType.StoreProcedure; command.CommandText = “ConsultarActor"; Consultas de accion command.CommandType = CommandType.Text; command.CommandText = “DELETE FROM Autor WHERE Id=5"; O command.CommandType = CommandType.StoreProcedure; command.CommandText = “EliminarActor"; Acceso a BD desde C#

6 Parametros Una consulta puede recibir parametros. OleDbParameter ParMarca = new OleDbParameter("PMarca", txtMarca.text); OleDbParameter ParArticulo = new OleDbParameter("PArticulo", Convert.toInt32(txtArticulo.text)); OleDbParameter ParFecha = new OleDbParameter("PFecha", "01/01/2009"); command.Parameters.Add(ParMarca); command.Parameters.Add(ParArticulo); command.Parameters.Add(ParFecha); Acceso a BD desde C#

7 Ahora… Como ejecuto una consulta? Depende del tipo de consulta. Consulta de Accion command.ExecuteNonQuery(); Consulta de Selección Los puedo cargar en un data reader y recorrerlo (1) Los puedo cargar en un dataset y agregarlo a un control (por ejemplo una grilla) (2) ¿¿¿¿COMO???? Acceso a BD desde C#

8 1. OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { string nombre = reader["NombreAutor"].ToString(); string apellido = reader[1].ToString(); MessageBox.Show(nombre + " " + apellido); } 2. OleDbDataAdapter adap = new OleDbDataAdapter(); adap.SelectCommand = command; DataSet dsDatos = new DataSet(); adap.Fill(dsDatos, “NombreConsulta”); this.dtgDatos.DataMember = "NombreConsulta"; this.dtgDatos.DataSource = dsDatos; Acceso a BD desde C#

9 Si en un punto del programa ocurre una excepción se pueden hacer dos cosas: Atrapar el error y manejarlo. No hacer nada y dejar que la excepción finalice lo que estaba haciendo. ¿Como lo atrapamos? public void button1_click(object sender, EventArgs e) { Persona p1 = new Persona(); Persona p2 = new Persona(); try { Persona elMayor = Edades.QuienEsMayor(p1, p2); MessageBox.Show(“El mayor es ” + elMayor.Nombre); } catch (Exception laExcepcion) { MessageBox.Show(“Ocurrió un error: ” + laExcepcion.Message); } Acceso a BD desde C#

10 El concepto del manejo de excepciones es tan simple como poderoso: Uno “trata” (try) de ejecutar un bloque de código Si hay un error lo “atrapa” (catch) permitiéndonos manejarlo de forma adecuada. Si no, el programa sigue ejecutando de forma normal Otro mini ejemplo puede ser try { intEdad = Convert.ToInt32(txtEdad.text); } catch (Exception laExcepcion) { MessageBox.Show(“La edad ingresada no es numerica”); } Acceso a BD desde C#

11 Situaciones donde hay que manejar errores Parsing (convertir texto a DateTime, int, etc...) Escribir y leer de archivos (pueden no existir, no haber permisos, etc...) Conectarnos por red (o incluso de forma local) con sistemas externos (¡Como Twitter!) Y muchos mas. Acceso a BD desde C#


Descargar ppt "Ejemplo en Access Como Acceder desde C# a una BD."

Presentaciones similares


Anuncios Google