hola!
estoy haciendo algo muy basico pero soy un malisimo y no hay forma que lo haga funcionar.
mi intencion es ingresar un nombre, que lo busque en una base de daos access y me responda en una caja de texto si esta o no en la base.
Creo que el problema es que no se relacionar la interfas con el codigo. sepan disculpar mi ignorancia, estoy tratando de aprender solo.
gracias, saludos.
import java.sql.*;
public class Conex extends javax.swing.JFrame {
private Statement statement=null;
private Connection conex=null;
private String dir="C:\\base de datos\\bd1.mdb";//direcion de la base de datos
private String nombre="Prueba2";//nombre de la conexion
/** Creates new form Conex */
public Conex() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
button1 = new java.awt.Button();
ingresonombre = new java.awt.TextField();
respuesta = new java.awt.TextArea();
buscar = new java.awt.Button();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
button1.setLabel("button1");
ingresonombre.setText("textField1");
buscar.setLabel("button2");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(62, 62, 62)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(button1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(buscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(ingresonombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(25, 25, 25)))
.addGap(76, 76, 76)
.addComponent(respuesta, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(respuesta, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(ingresonombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(51, 51, 51)
.addComponent(buscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(33, 33, 33)
.addComponent(button1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(71, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Conex().setVisible(true);
}
});
}
public void abrirConexion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//carga el driver
conex=DriverManager.getConnection("jdbc:odbc:"+nombre,"","");//carga la base de datos(crea la conexion con esta)
statement=conex.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//para las consultas
respuesta.setText("Conexion exitosa");
}catch(Exception e){
respuesta.setText("No se ha podido cargar el Driver JDBC-ODBC");
}
}
public void obtener(){
int id1;
String input;
input = ingresonombre.getText();
try{
ResultSet rs=statement.executeQuery("SELECT * FROM datos");
boolean loEncontre=false;
String nombre;
while(!loEncontre && rs.next()){
id1 =Integer.parseInt(rs.getString("id"));
System.out.println("");
System.out.println(""+id1);
for ( int contador1 = id1; contador1 <= id1; contador1++ ){
System.out.println(""+rs.getString("nombre"));
nombre=rs.getString("nombre");
if (input.equals (nombre)){ // busca el nombre ingresado
System.out.println("Lo encontramos...!");
respuesta.setText( nombre+" esta en la base de datos");
loEncontre=true;
break;
}
}
if(!loEncontre){
respuesta.setText("No lo encontre!");
}
}
}catch(SQLException e){
e.printStackTrace();
}
}
private void buscarActionPerformed(java.awt.event.ActionEvent evt) {
Conex c=new Conex();
c.abrirConexion();
System.out.println("conectado");
respuesta.setText("conectado");
c.obtener();
}
// Variables declaration - do not modify
private java.awt.Button buscar;
private java.awt.Button button1;
private java.awt.TextField ingresonombre;
private java.awt.TextArea respuesta;
// End of variables declaration
}