Acceso a una base de datos access mediante C#:

1.-Conexion:

Para crear una conexión con Microsoft Access tenemos que tener en cuenta los siguientes pasos:
1. Definir la conexión.
2. Crear la instancia
3. Armar el String (cadena de conexión).
4. Abrir la conexión.

String nombre;
System.Data.OleDb.OleDbConnection cnn = new System.Data.OleDb.OleDbConnection();
cnn.ConnectionString = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Documentacion\base.mdb";
cnn.Open.
El simbolo @ se coloca adelante del string para que el compilador reconozca los símbolos especiales (por ejemplo la \) como literal.

2.-Conexión a SQL Server con C#
Para crear una conexión con SQL Server tenemos que tener en cuenta los siguientes pasos:
1. Definir la conexión.
2. Crear la instancia
3. Armar el String (cadena de conexión).
4. Abrir la conexión.

System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection();
cnn.ConnectionString = "Server=10.10.10.10;
initial catalog=Base id=sa;
password=123;
Trusted_Connection=FALSE";
cnn.Open;

3.-Consultas de Selección con C#

Para la realizacion de una consulta, relizaremos los siguientes pasos:Una vez creada la conexión, se crea un objeto adapter donde se ejecutará la consulta. Luego con el contenido del adapter se llena un objeto Dataset. Con este Dataset se cargan los datos en una tabla. (dt). luego se recorre dicha tabla (foreach) y se evalua su contenido.
string nombre;
System.Data.SqlClient.SqlConnection cnn;
System.Data.SqlClient.SqlDataAdapter sqladapt;
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dt = new System.Data.DataTable();
cnn.ConnectionString = "Server=10.10.10.10;initial catalog=Base;user id=sa;password=123;Trusted_Connection=FALSE";
cnn = new System.Data.SqlClient.SqlConnection(cnn.ConnectionString);
nombre = txtNombre.Text;
string strsql = "SELECT * FROM amigos WHERE nombre ='" + nombre + "'";
sqladapt = new System.Data.SqlClient.SqlDataAdapter(strsql, cnn);
sqladapt.Fill(ds, "clientes");
dt = ds.Tables["clientes"];
if (dt.Rows.Count == 0)
this.lblUsuario.Text = "No existe el usuario...";
else
{
foreach (System.Data.DataRow fila in dt.Rows)
{
this.lblUsuario.Text = "Bienvenido " + fila["nombre"].ToString();
}
}


4.-Consultas de acción en C#

Para la inserción de un registro, realizaremos los siguientes pasos:

Una vez creada la conexión, se crea un objeto command donde se ejecutará la consulta de acción (INSERT). Luego se define el string de la consulta. Se abre la conexión. Se ejecuta la consulta (ExecuteNonQuery);. Se cierra la conexión.
protected void cmdAgregar_Click(object sender, EventArgs e)
{
string strSQL;
string nombre;
string cuenta;
int codigo;
System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection();
cnn.ConnectionString = "Server=10.10.10.10;initial catalog=Base;

user id=sa;password=123;Trusted_Connection=FALSE";
codigo = 10;
nombre = this.txtNombre.Text;
cuenta = this.txtCuenta.Text;
strSQL = "INSERT INTO cuentas VALUES (" + codigo + ",'" + nombre + "','" + cuenta + "');";
System.Data.SqlClient.SqlCommand cmSQL = new System.Data.SqlClient.SqlCommand(strSQL, cnn);
cmSQL.Connection.Open();
cmSQL.ExecuteNonQuery();
cmSQL.Connection.Close();
this.txtNombre.Text = "";
this.txtCuenta.Text = "";

}
Para eliminar o modificar registros es exactamente el mismo código, lo único que cambia es el String de la consulta por Ej.:
strSQL = "DELETE FROM clientes WHERE codigo = "+ codigo
o...
strSQL = "UPDATE clientes SET apellido=´" + apellido + "´;nombre=´" + nombre + "´ WHERE codigo = "+ codigo


Una pasada que C# haga esto. El codigo se puede traducir a VB .net en la pagina del guille.