//listo public List<Contacto> recuperarTodosLosContactos() { List<Contacto> misContactos = new List<Contacto>(); OleDbConnection cnn = new OleDbConnection(_rutaBD); try { cnn.Open(); OleDbCommand cmd = new OleDbCommand("Select id, nombre, apellido, dirección, localidad, fechaNacimiento from Contactos", cnn); OleDbDataReader miLector = cmd.ExecuteReader(); //el comando y el lector para los teléfonos y los mails OleDbCommand cmd2 = new OleDbCommand(); cmd2.Connection = cnn; while (miLector.Read()) { Contacto miContacto = new Contacto(); miContacto.Id = miLector.GetInt32(0); miContacto.Nombre = miLector.GetString(1); miContacto.Apellido = miLector.GetString(2); miContacto.Dirección = miLector.GetString(3); miContacto.Localidad = miLector.GetString(4); miContacto.fecha_nacimiento = miLector.GetDateTime(5); miContacto.Teléfonos = recuperarTeléfonos(miContacto.Id); miContacto.Emails = recuperarMails(miContacto.Id); misContactos.Add(miContacto); } miLector.Close(); cnn.Close(); return misContactos; } catch (Exception ex) { Debug.Print(ex.Message); return misContactos; } }
//listo public bool modificarContacto(Contacto contacto_a_modificar) { OleDbConnection cnn = new OleDbConnection(_rutaBD); try { cnn.Open(); string cadenaSQL = "UPDATE Contactos SET nombre = '" + contacto_a_modificar.Nombre + "', apellido = '" + contacto_a_modificar.Apellido + "', dirección = '" + contacto_a_modificar.Dirección + "', localidad = '" + contacto_a_modificar.Localidad + "', fechaNacimiento = #" + contacto_a_modificar.fecha_nacimiento + "# where id = " + contacto_a_modificar.Id; OleDbCommand cmd = new OleDbCommand(cadenaSQL, cnn); cmd.ExecuteNonQuery(); //se borran los teléfonos y mails del contacto por si hubieron modificaciones cadenaSQL = "DELETE from Teléfonos where idcontacto = " + contacto_a_modificar.Id; cmd = new OleDbCommand(cadenaSQL, cnn); cmd.ExecuteNonQuery(); cadenaSQL = "DELETE from Mails where idcontacto = " + contacto_a_modificar.Id; cmd = new OleDbCommand(cadenaSQL, cnn); cmd.ExecuteNonQuery(); //se agregan los nuevos teléfonos y mails guardarTeléfonos(contacto_a_modificar.Teléfonos, contacto_a_modificar.Id); guardarMails(contacto_a_modificar.Emails, contacto_a_modificar.Id); cnn.Close(); return true; } catch (Exception ex) { Debug.Print(ex.Message); return false; } }
//listo public Contacto recuperarContacto(int idContacto) { Contacto micontacto = new Contacto(); OleDbConnection cnn = new OleDbConnection(_rutaBD); try { cnn.Open(); OleDbCommand cmd = new OleDbCommand("Select id, nombre, apellido, dirección, localidad from Contactos where id = " + idContacto, cnn); OleDbDataReader miLector = cmd.ExecuteReader(); miLector.Read(); micontacto.Id = miLector.GetInt32(0); micontacto.Nombre = miLector.GetString(1); micontacto.Apellido = miLector.GetString(2); micontacto.Dirección = miLector.GetString(3); micontacto.Localidad = miLector.GetString(4); micontacto.Teléfonos = recuperarTeléfonos(micontacto.Id); micontacto.Emails = recuperarMails(micontacto.Id); miLector.Close(); cnn.Close(); return micontacto; } catch { return micontacto; } }
public bool guardarContacto(Contacto miContacto) { OleDbConnection cnn = new OleDbConnection(_rutaBD); try { cnn.Open(); //se guarda el contacto string comandoInsert = "'" + miContacto.Nombre + "', '" + miContacto.Apellido + "', '" + miContacto.Dirección + "', '" + miContacto.Localidad + "', " + miContacto.fecha_nacimiento; OleDbCommand cmd = new OleDbCommand("INSERT INTO Contactos (nombre, apellido, dirección, localidad, fechaNacimiento) VALUES (" + comandoInsert + ")", cnn); cmd.ExecuteNonQuery(); //se recupera la id del contacto que se acaba de guardar int id = this.recuperar_ID_contacto(miContacto.Nombre, miContacto.Apellido); //se guardan los teléfonos de esa id guardarTeléfonos(miContacto.Teléfonos, id); //se guardan los mails de esa id guardarMails(miContacto.Emails, id); cnn.Close(); return true; } catch { return false; } }