package modelo;
import java.sql.*;
import javabeans.*;
import java.util.*;
public class Operaciones {
  //método común para la obtención
  //de conexiones
  public Connection getConnection(){
    Connection cn=null;
    try{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      cn=DriverManager.getConnection("jdbc:odbc:mensajes");
    }
    catch(Exception e){e.printStackTrace();}
    return cn;
  }
  public ArrayList obtenerMensajes(String destino){
    Connection cn=null;
    ArrayList mensajes=null;
    Statement st;
    ResultSet rs;
    try{
      cn=getConnection();
      st=cn.createStatement();
      String tsql;
      tsql="select * from mensajes where destinatario='"+destino+"'";
      rs=st.executeQuery(tsql);
      mensajes=new ArrayList();
      //para cada mensaje encontrado crea un objeto
      //Mensaje y lo añade a la colección ArrayList
      while(rs.next()){
        MensajeForm m=new MensajeForm(rs.getString("remitente"),rs.getString("destinatario"),rs.getString("texto"));
        mensajes.add(m);
      }
      cn.close();
    }
    catch(Exception e){e.printStackTrace();}
    return(mensajes);
  }
  public void grabaMensaje(MensajeForm m){
    Connection cn;
    Statement st;
    ResultSet rs;
    try{
      cn=getConnection();
      st=cn.createStatement();
      String tsql;
      //a partir de los datos del mensaje construye
      //la cadena SQL para realizar su inserión
      tsql="Insert into mensajes values('";
      tsql+=m.getDestino()+"','"+m.getRemite()+"','"+m.getTexto()+"')";
      st.execute(tsql);
      cn.close();
    }
    catch(Exception e){e.printStackTrace();}
  }
}