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

https://www.evernote.com/view/a7837f10-2901-4836-a9cf-5123707a...

Cdigo C# - Insercin, Eliminacin, Actualizacin y Seleccin en C# con base de datos Access


martes, marzo 5 2013, 10:11 a.m.

Cdigo C#
Tips y Trucos
Insercin, Eliminacin, Actualizacin y Seleccin en C# con base de datos Access Con este ejemplo vamos a ver como podemos realizar una Insercin, Eliminacin, Actualizacin y Seleccin de datos que estn almacenados en una base de datos de Access 2003 y 2007. Nuestra base de datos se llamara DataBase.mdb para office 2003 y DataBase.accdb para office 2007. Esta base de datos va a tener una tabla llamada "Agenda" que va a contener los siguientes campos: Id [Autonumrico] Nombre [Texto] Apellido [Texto] Telefono [Texto] Antes de empezar tenemos que tener en cuenta lo siguiente: OleDbConnection. Representa una conexin nica a un origen de datos. En el caso de un sistema de bases de datos de cliente y servidor, equivale a una conexin de red al servidor. Dependiendo de la funcionalidad que admita el proveedor OLE DB nativo, algunos mtodos o propiedades de un objeto OleDbConnection pueden no estar disponibles.
1

OleDbDataAdapter. Sirve de puente entre un DataSet y un origen de datos para recuperar y guardar los datos. La clase OleDbDataAdapter proporciona este puente utilizando el mtodo Fill para cargar datos del origen de datos en la clase DataSet, as como el mtodo Update para devolver los cambios realizados en la clase DataSet al origen de datos. OleDbDataAdapter contiene tambin las propiedades SelectCommand, InsertCommand, DeleteCommand, UpdateCommand y TableMappings para facilitar la carga y la actualizacin de los datos.
1

OleDbCommand. Representa una instruccin SQL o un procedimiento almacenado que se va a ejecutar en un origen de datos. OleDbCommand tiene los siguientes mtodos que ejecutan comandos en el origen de datos: - ExecuteReader. Ejecuta comandos que devuelven filas. ExecuteReader podra no tener el efecto deseado si se utiliza para ejecutar comandos como las instrucciones SQL SET. - ExecuteNonQuery. Ejecuta comandos como instrucciones INSERT, DELETE, UPDATE y SET de SQL. - ExecuteScalar. Recupera un nico valor de una base de datos; por ejemplo, un valor agregado.
1 1

DataSet. Es un cach de memoria interna de datos recuperados de un origen de datos, representa un componente fundamental de la arquitectura de ADO.NET.

Proteger cadenas de conexin. Si se establece la palabra clavePersist Security Info como true o yes en una cadena de conexin, permitir obtener informacin de seguridad confidencial, incluidos el Id. de usuario y la contrasea, de la conexin una vez que est abierta. Si es necesario proporcionar un Id. de usuario y una contrasea al realizar una conexin, estar completamente protegido si esa informacin se descarta una vez que se haya utilizado para establecer la conexin; esto sucede cuando Persist Security Info se establece como false o no. Esto es especialmente importante si proporciona una conexin abierta a un origen que no sea de confianza o guarda la informacin de conexin en disco. Si se mantiene el valor PersistSecurity Info como false, se contribuye a que un origen que no sea de confianza no tenga acceso a la informacin de seguridad confidencial de la conexin y contribuye adems a que no se guarde en el disco ningn tipo de informacin de seguridad confidencial que contenga informacin de su cadena de conexin de forma predeterminada. El valor Persist Security Info est establecido como false de forma predeterminada.
1

1 de 4

05/03/2013 10:12 a.m.

https://www.evernote.com/view/a7837f10-2901-4836-a9cf-5123707a...
Referencias 1 MSDN Antes de empezar tenemos que indicar con base de datos vamos a trabajar (2003 o 2007) y eso se define en el OleDbConnection de la siguiente manera: Access 2003 OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False"); Access 2007 OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; User ID=;Password=;Data Source=DataBase.accdb;Persist Security Info=False"); Insercin de un registro en la base de datos

usingSystem.Data.OleDb; usingSystem.Data;

public static bool InsertElement(string _name, string _lastName, string _phoneNumber) { bool fl; try { OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False"); OleDbCommand CommandQuery=new OleDbCommand("INSERT INTO Agenda(Nombre, Apellido, Telefono) VALUES('" + _name + "','" + _lastName + "','" + _phoneNumber + "')",MyConnection); OleDbDataAdapter add = new OleDbDataAdapter(); MyConnection.Open(); add.InsertCommand = CommandQuery; add.InsertCommand.ExecuteNonQuery(); MyConnection.Close(); fl = true; } catch { fl = false; } return fl; }
Actualizacin de un registro de la base de datos

usingSystem.Data.OleDb; usingSystem.Data;

public static bool UpdateElement(string _oldName, string _newName, string _lastName, string _phoneNumber) { bool fl; try { OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False"); OleDbCommand CommandQuery = new OleDbCommand("UPDATE Agenda SET Nombre='" + _newName + "', Apellido='" + _lastName + "',Telefono='" + _phoneNumber + "' WHERE Nombre='" + _oldName + "'", MyConnection); OleDbDataAdapter update = new OleDbDataAdapter(); MyConnection.Open(); update.UpdateCommand = CommandQuery; update.UpdateCommand.ExecuteNonQuery();

2 de 4

05/03/2013 10:12 a.m.

https://www.evernote.com/view/a7837f10-2901-4836-a9cf-5123707a...

MyConnection.Close(); fl = true; } catch { fl = false; } return fl; }


Eliminacin de un registro de la base de datos

usingSystem.Data.OleDb; usingSystem.Data;

public static bool DeleteElement(string _name) { bool fl; try { OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False"); OleDbCommand CommandQuery = new OleDbCommand("DELETE FROM Agenda WHERE Nombre='" + _name + "'", MyConnection); OleDbDataAdapter delete = new OleDbDataAdapter(); MyConnection.Open(); delete.DeleteCommand = CommandQuery; delete.DeleteCommand.ExecuteNonQuery(); MyConnection.Close(); fl = true; } catch { fl = false; } return fl; }
Seleccin de los registros de la base de datos

usingSystem.Data.OleDb; usingSystem.Data;

/*Esta funcin devuelve un array con la informacin que tenga la base de datos*/ public static string[] getAllElements() { string[] peopleList=null; string Name = string.Empty; string LastName = string.Empty; string PhoneNumber = string.Empty; try { OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False"); OleDbDataAdapter MyAdapter = new OleDbDataAdapter("Select * from Agenda", MyConnection); DataSet MyDataSet = new DataSet(); MyConnection.Open(); MyAdapter.Fill(MyDataSet); if (MyDataSet.Tables[0].Rows.Count > 0) { peopleList = new string[MyDataSet.Tables[0].Rows.Count];

3 de 4

05/03/2013 10:12 a.m.

https://www.evernote.com/view/a7837f10-2901-4836-a9cf-5123707a...

for (int i = 0; i < MyDataSet.Tables[0].Rows.Count; i++) { DataRow campo = MyDataSet.Tables[0].Rows[i]; Name = campo["nombre"].ToString(); LastName = campo["apellido"].ToString(); PhoneNumber = campo["telefono"].ToString(); peopleList[i] = Name + " " + LastName + " " + PhoneNumber; } } MyConnection.Close(); } catch { peopleList = null; } return peopleList; }

4 de 4

05/03/2013 10:12 a.m.

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