Conexion Access C#

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,

conexion-access-c#-interfaz

teniendo en cuenta que tenemos una base de datos access como la siguiente,

conexion-access-c#-bd

Nuestra base de datos se llama Agenda y nuestra tabla se llama Contactos, consta de los campos que ves en la imagen anterior.


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

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.

conexion-access-c#-asistente

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,

conexion-access-c#-seleccionardb

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,

public Form1()
{
 InitializeComponent();
 actual = getFirstId();
 showData();
}

donde el codigo de getFirstId() es,
this.oleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM Contactos";
this.oleDbConnection1.Open();
this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;

OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
reader.Read();
int id = Convert.ToInt16(reader["Id"].ToString());

this.oleDbConnection1.Close();

return id;

y el codigo del metodo showData es como sigue,
this.oleDbDataAdapter1.SelectCommand.CommandText = query;
this.oleDbConnection1.Open();
this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;

OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
while(reader.Read()){
textBox1.Text = reader["Nombre"].ToString();
textBox2.Text = reader["Direccion"].ToString();
textBox3.Text = reader["Telefono"].ToString();
textBox4.Text = reader["Nota"].ToString();
}

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

try
 {
 this.oleDbDataAdapter1.InsertCommand.CommandText = query;
 this.oleDbConnection1.Open();
 this.oleDbDataAdapter1.InsertCommand.Connection = oleDbConnection1;

 this.oleDbDataAdapter1.InsertCommand.ExecuteNonQuery();

 this.oleDbConnection1.Close();

 MessageBox.Show("Registro agregado exitosamente");

 this.textBox1.Text = "";
 this.textBox2.Text = "";
 this.textBox3.Text = "";
 this.textBox4.Text = "";

 actual = getFirstId();
 showData();
 }
 catch (System.Data.OleDb.OleDbException exp)
 {
 this.oleDbConnection1.Close();

 MessageBox.Show(exp.ToString());
 }

donde la variable query contiene la cadena de texto con la instrucción insert.

CODIGO DEL BOTON ACTUALIZAR REGISTRO

try
{
this.oleDbDataAdapter1.UpdateCommand.CommandText = query;

this.oleDbConnection1.Open();

this.oleDbDataAdapter1.UpdateCommand.Connection = oleDbConnection1;

this.oleDbDataAdapter1.UpdateCommand.ExecuteNonQuery();

this.oleDbConnection1.Close();

MessageBox.Show("Registro actualizado correctamente.");

this.textBox1.Text = "";
this.textBox2.Text = "";
this.textBox3.Text = "";
this.textBox4.Text = "";

actual = getFirstId();
showData();
}
catch (System.Data.OleDb.OleDbException exp)
{
this.oleDbConnection1.Close();
MessageBox.Show(exp.ToString());
}

 CODIGO DEL BOTON BORRAR REGISTRO
try
{
this.oleDbDataAdapter1.DeleteCommand.CommandText =query;
this.oleDbConnection1.Open();

this.oleDbDataAdapter1.DeleteCommand.Connection = oleDbConnection1;

this.oleDbDataAdapter1.DeleteCommand.ExecuteNonQuery();

this.oleDbConnection1.Close();

MessageBox.Show("Registro eliminado correctamente");

this.textBox1.Text = "";
this.textBox2.Text = "";
this.textBox3.Text = "";
this.textBox4.Text = "";

actual = getFirstId();
showData();
}
catch (System.Data.OleDb.OleDbException exp)
{
this.oleDbConnection1.Close();
MessageBox.Show(exp.ToString());
}

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

String nombre = textBox1.Text;
this.oleDbDataAdapter1.SelectCommand.CommandText = query;
this.oleDbConnection1.Open();
this.oleDbDataAdapter1.SelectCommand.Connection = oleDbConnection1;

OleDbDataReader reader = this.oleDbDataAdapter1.SelectCommand.ExecuteReader();
while (reader.Read())
{
textBox1.Text = reader["Nombre"].ToString();
textBox2.Text = reader["Direccion"].ToString();
textBox3.Text = reader["Telefono"].ToString();
textBox4.Text = reader["Nota"].ToString();
}

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,

Descargar proyecto completo

Conexion Access C#

Clic para valorar esta información
[Total: 2 Promedio: 3.5]

6 Comentarios

Deja un comentario

Tu comentario será aprobado por un administrador en unos minutos, por favor no publiques de nuevo tu comentario.