relacionar dos tablas y navegar en ellas con los botones primero ultimo siguiente y anterior eso lo hace sin ningun problema
borrar un registro tambien lo hace
agregar tambien agrega
pero el buscar me busca solo en una tabla y nose como hacer para que busque en las dos me pueden explicar eso como hacerlo porfavor
quite parte del codigo porque no me dejaba mandar mas de 10000 caracteres
Código PHP:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class AccessBD extends Frame implements ActionListener
{
Button btnSig, btnAnt, btnPrim, btnUlt, btnBorrar, btnActuali, btnBor, btnAcep;
Button btnLimp, btnGrab, btnBusc;
TextField txtRut, txtNom, txtApell, txtDir, txtBusca;
TextField txtNota1, txtNota2, txtNota3;
Label lblError = new Label("");
Connection cCon;
ResultSet rsAlumno;
ResultSet rsNotas;
Statement stStat,stStat1;
String strSQL, strSQL1;
public AccessBD()
{
setLayout(null);
setLocation(200,200);
setSize(600,450);
setTitle("NAVEGACION DE BD");
btnPrim.addActionListener(this);
btnSig.addActionListener(this);
btnAnt.addActionListener(this);
btnUlt.addActionListener(this);
btnBor.addActionListener(this);
btnLimp.addActionListener(this);
btnGrab.addActionListener(this);
btnBusc.addActionListener(this);
btnAcep.addActionListener(this);
String sDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
String sUrl = "jdbc:odbc:AccessBD" ;
try {
Class.forName(sDriver);
}
catch(ClassNotFoundException ex)
{
}
try{
cCon = DriverManager.getConnection(sUrl, "", "");
stStat = cCon.createStatement(1005, 1008);
stStat1 = cCon.createStatement(1005, 1008);
String sSql2 = "Select * from alumno";
rsAlumno = stStat.executeQuery(sSql2);
rsAlumno.next();
mostrar();
}
catch(Exception ex){ }
btnAnt.setEnabled(false);
btnPrim.setEnabled(false);
btnAcep.setEnabled(false);
}
public void actionPerformed(ActionEvent ev)
{
try{
if (ev.getSource()== btnPrim)
{
rsAlumno.first();
mostrar();
btnSig.setEnabled(true);
btnAnt.setEnabled(false);
btnUlt.setEnabled(true);
}
if (ev.getSource()== btnSig)
{
rsAlumno.next();
if (rsAlumno.isLast())
{
btnSig.setEnabled(false);
btnUlt.setEnabled(false);
}
mostrar();
btnAnt.setEnabled(true);
btnPrim.setEnabled(true);
}
if (ev.getSource()== btnAnt)
{
rsAlumno.previous();
if (rsAlumno.isFirst())
{
btnAnt.setEnabled(false);
btnPrim.setEnabled(false);
}
mostrar();
btnSig.setEnabled(true);
btnUlt.setEnabled(true);
}
if (ev.getSource()== btnUlt)
{
rsAlumno.last();
mostrar();
btnAnt.setEnabled(true);
btnSig.setEnabled(false);
btnPrim.setEnabled(true);
btnUlt.setEnabled(false);
}
if(ev.getSource() == btnBor)
{
try
{
String sSql1 = "Delete from alumno Where rut='" + txtRut.getText() + "'";
stStat.execute(sSql1);
sSql1 = "Select * from alumno";
rsAlumno = stStat.executeQuery(sSql1);
rsAlumno.next();
mostrar();
} catch(SQLException Se){System.out.println("error"); }
btnAnt.setEnabled(false);
btnSig.setEnabled(true);
btnPrim.setEnabled(false);
}
if (ev.getSource()== btnLimp)
{
btnGrab.setEnabled(true);
txtRut.setText("");
txtNom.setText("");
txtApell.setText("");
txtDir.setText("");
txtNota1.setText("");
txtNota2.setText("");
txtNota3.setText("");
btnLimp.setEnabled(false);
btnBor.setEnabled(false);
btnUlt.setEnabled(false);
btnAnt.setEnabled(false);
btnPrim.setEnabled(false);
btnSig.setEnabled(false);
btnBusc.setEnabled(false);
}
if (ev.getSource()== btnGrab)
{
try
{
stStat.execute("Insert Into alumno (rut,nombre,apellido,direccion)" + "values ('" + txtRut.getText()+ "','" + txtNom.getText()+"','"+txtApell.getText()+"','"+txtDir.getText()+"')");
stStat1.execute("Insert Into nota (rut,nota1 ,nota2 ,nota3)" + "values ('" + txtRut.getText()+ "','" + txtNota1.getText()+ "','" + txtNota2.getText()+"','"+txtNota3.getText()+"')");
//mostrar();
String sSql1 = "Select * from alumno";
rsAlumno = stStat.executeQuery(sSql1);
rsAlumno.next();
mostrar();
}
catch(SQLException se){ System.out.print("no grabo"); }
//rsAlumno.last();
//mostrar();
btnLimp.setEnabled(true);
btnGrab.setEnabled(false);
btnBor.setEnabled(true);
btnUlt.setEnabled(true);
btnAnt.setEnabled(true);
btnPrim.setEnabled(true);
btnSig.setEnabled(true);
btnBusc.setEnabled(true);
}
//fin grabar
if (ev.getSource()== btnBusc)
{
String p,n="",c="", s="";
String a="", b="", e="", d="";
String q=txtBusca.getText();
int i=0;
try
{
stStat.close();
stStat=cCon.createStatement();
stStat1=cCon.createStatement();
strSQL="Select * from alumno";
strSQL1="Select * from nota";
rsAlumno=stStat.executeQuery(strSQL);
rsNotas=stStat1.executeQuery(strSQL1);
while((rsAlumno.next()) && (i==0))
{
p=rsAlumno.getString("rut");
if(p.equals(q))
{
n=rsAlumno.getString("nombre");
c=rsAlumno.getString("apellido");
s=rsAlumno.getString("direccion");
a=rsNotas.getString("nota1");
b=rsNotas.getString("nota2");
e=rsNotas.getString("nota3");
i=1;
}
}
if(i==1)
{
txtRut.setText(q);
txtNom.setText(n);
txtApell.setText(c);
txtDir.setText(s);
}
else
{
txtRut.setText("Usuario no existe");
txtNom.setText("Usuario no existe");
txtApell.setText("Usuario no existe");
txtDir.setText("Usuario no existe");
txtBusca.setText("Usuario no existe");
}
}
catch(SQLException se){System.out.print("error al buscar"); }
btnAcep.setEnabled(true);
}
if (ev.getSource()== btnAcep)
{
String sSql1 = "Select * from alumno";
rsAlumno = stStat.executeQuery(sSql1);
rsAlumno.next();
mostrar();
btnAcep.setEnabled(false);
btnAnt.setEnabled(false);
btnPrim.setEnabled(false);
btnSig.setEnabled(true);
btnUlt.setEnabled(true);
}
}
catch(Exception ex){ setTitle("ERROR 2"); }
}
public static void main(String args[])
{
// Visualizando la Clase
new AccessBD().setVisible(true);
}
//prosedimiento para mostrar
public void mostrar()
{
try
{
txtRut.setText(rsAlumno.getString("rut"));
txtNom.setText(rsAlumno.getString("nombre"));
txtApell.setText(rsAlumno.getString("apellido"));
txtDir.setText(rsAlumno.getString("direccion"));
String sSql3 = "Select * from nota Where rut='" + txtRut.getText() + "'";
rsNotas = stStat1.executeQuery(sSql3);
if (rsNotas.next())
mostrarNota();
else{
txtNota1.setText("");
txtNota2.setText("");
txtNota3.setText("");
}
}
catch(Exception ex){setTitle("ERROR 1"); }
}
public void mostrarNota()
{
try
{
txtNota1.setText(rsNotas.getString("nota1"));
txtNota2.setText(rsNotas.getString("nota2"));
txtNota3.setText(rsNotas.getString("nota3"));
}
catch(Exception ex){setTitle("ERROR "); }
}
}