Está en la página 1de 7

Conexion Access C#

Hoy te mostramos como realizar una sencilla conexion accesss


c# para mostrar información de una base de datos en
cualquier aplicación que desarrolles. Para esto haremos uso
de Visual Studio 2013, el modelo de objetos ADO.NET y C#,
realizaremos un sencillo ejemplo que te muestra como
realizar esta conexion con una base de datos access desde
c# y realizar operaciones básicas como agregar, actualizar,
eliminar y buscar sobre la base de datos a través de la
interfaz de nuestra sencilla aplicación.

Lo primero sera crearnos una nueva aplicación en Visual


Studio 2013 ( cualquier versión vale ) y desarrollar una
interfaz como la siguiente,
teniendo en cuenta que tenemos una base de datos access
como la siguiente,

Nuestra base de datos se llama Agenda y nuestra tabla se


llama Contactos, consta de los campos que ves en la imagen
anterior.

Ahora para realizar la conexion access c# deberemos


agregar el objeto OleDbDataAdapter y OleDbConnection en nuestra aplicación para el
control de la base de datos.
Para agregar dicho adaptador simplemente vamos
a Herramientas -> Elegir elementos del cuadro de herramientas
-> Componentes de .NET Framework y
elegimos OleDbDataAdapter y OleDbConnection.

Ahora solo los agregamos desde el cuadro de herramientas


hasta nuestra interfaz, inmediatamente después de agregar
el objeto OleDbDataAdapter nos aparecerá un asistente de
conexión.
donde seleccionaremos Nueva Conexion, y cambiaremos el
Origen de Datos a Archivo de Base de datos de Microsoft
Access.

Después seleccionamos el archivo de base de datos de


access para que nuestro asistente quede de la siguiente
forma,
probamos nuestra conexión y terminamos con el objeto
OleDbDataAdapter.

Ahora configuramos el objeto OleDbConnection en el cual


simplemente nos vamos a su propiedad ConnectionString y
seleccionamos el nombre de nuestra base de datos.
Pasamos al código y en nuestro constructor agregamos un
método para leer al inicio el primer registro de nuestra base
de datos,

1 public Form1()
2 {
3 InitializeComponent();
4 actual = getFirstId();
5 showData();
6 }

donde el codigo de getFirstId() es,

1 this.oleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM Contactos";


2 this.oleDbConnection1.Open();
3 this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;
4  
5 OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
6 reader.Read();
7 int id = Convert.ToInt16(reader["Id"].ToString());
8  
9 this.oleDbConnection1.Close();
10  
11 return id;

y el codigo del metodo showData es como sigue,

1 this.oleDbDataAdapter1.SelectCommand.CommandText = query;
2 this.oleDbConnection1.Open();
3 this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;
4  
5 OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
6 while(reader.Read()){
7 textBox1.Text = reader["Nombre"].ToString();
8 textBox2.Text = reader["Direccion"].ToString();
9 textBox3.Text = reader["Telefono"].ToString();
10 textBox4.Text = reader["Nota"].ToString();
11 }
12  
13 this.oleDbConnection1.Close();

donde la variable query corresponde a la instrucción select


para obtener el primer registro, (aqui pudimos haberlo
hecho de otra forma pero para fines didácticos lo haremos
así)

CODIGO DEL BOTON AGREGAR REGISTRO

1 try
2 {
3 this.oleDbDataAdapter1.InsertCommand.CommandText = query;
4 this.oleDbConnection1.Open();
5 this.oleDbDataAdapter1.InsertCommand.Connection = oleDbConnection1;
6  
7 this.oleDbDataAdapter1.InsertCommand.ExecuteNonQuery();
8  
9 this.oleDbConnection1.Close();
10  
11 MessageBox.Show("Registro agregado exitosamente");
12  
13 this.textBox1.Text = "";
14 this.textBox2.Text = "";
15 this.textBox3.Text = "";
16 this.textBox4.Text = "";
17  
18 actual = getFirstId();
19 showData();
20 }
21 catch (System.Data.OleDb.OleDbException exp)
22 {
23 this.oleDbConnection1.Close();
24  
25 MessageBox.Show(exp.ToString());
26 }
donde la variable query contiene la cadena de texto con la
instrucción insert.
CODIGO DEL BOTON ACTUALIZAR REGISTRO

1 try
2 {
3 this.oleDbDataAdapter1.UpdateCommand.CommandText = query;
4  
5 this.oleDbConnection1.Open();
6  
7 this.oleDbDataAdapter1.UpdateCommand.Connection = oleDbConnection1;
8  
9 this.oleDbDataAdapter1.UpdateCommand.ExecuteNonQuery();
10  
11 this.oleDbConnection1.Close();
12  
13 MessageBox.Show("Registro actualizado correctamente.");
14  
15 this.textBox1.Text = "";
16 this.textBox2.Text = "";
17 this.textBox3.Text = "";
18 this.textBox4.Text = "";
19  
20 actual = getFirstId();
21 showData();
22 }
23 catch (System.Data.OleDb.OleDbException exp)
24 {
25 this.oleDbConnection1.Close();
26 MessageBox.Show(exp.ToString());
27 }
 CODIGO DEL BOTON BORRAR REGISTRO

1 try
2 {
3 this.oleDbDataAdapter1.DeleteCommand.CommandText =query;
4 this.oleDbConnection1.Open();
5  
6 this.oleDbDataAdapter1.DeleteCommand.Connection = oleDbConnection1;
7  
8 this.oleDbDataAdapter1.DeleteCommand.ExecuteNonQuery();
9  
10 this.oleDbConnection1.Close();
11  
12 MessageBox.Show("Registro eliminado correctamente");
13  
14 this.textBox1.Text = "";
15 this.textBox2.Text = "";
16 this.textBox3.Text = "";
17 this.textBox4.Text = "";
18  
19 actual = getFirstId();
20 showData();
21 }
22 catch (System.Data.OleDb.OleDbException exp)
23 {
24 this.oleDbConnection1.Close();
25 MessageBox.Show(exp.ToString());
26 }
Una vez mas el código de la variable query es la
instrucción DELETE para eliminar el registro que
corresponda a ese Nombre.
CODIGO DEL BOTON BUSCAR REGISTRO

1 String nombre = textBox1.Text;


2 this.oleDbDataAdapter1.SelectCommand.CommandText = query;
3 this.oleDbConnection1.Open();
4 this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;
5  
6 OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
7 while (reader.Read())
8 {
9 textBox1.Text = reader["Nombre"].ToString();
10 textBox2.Text = reader["Direccion"].ToString();
11 textBox3.Text = reader["Telefono"].ToString();
12 textBox4.Text = reader["Nota"].ToString();
13 }
14  
15 this.oleDbConnection1.Close();

donde la variable query contiene el código de la instrucción


select para obtener el registro donde la caja nombre
corresponda a la variable Nombre en nuestro ejemplo.

El resultado final de nuestra conexion access c# es el


siguiente,

https://www.youtube.com/watch?time_continue=8&v=fa5Hy_BGeKI&feature=emb_logo

También podría gustarte