Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con SQLException: COlumn not found

Estas en el tema de Problema con SQLException: COlumn not found en el foro de Java en Foros del Web. hola! miren lo que estoy realizando es una simple ventana de login que jale de la bd el nombre y password, pero me sale el ...
  #1 (permalink)  
Antiguo 05/12/2005, 14:17
 
Fecha de Ingreso: diciembre-2005
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Problema con SQLException: COlumn not found

hola!
miren lo que estoy realizando es una simple ventana de login que jale de la bd el nombre y password, pero me sale el error SQLException: Column not found siendo q si existe aqui pongo el codigo para ver si me pueden ayudar a encontrar cual es la falla
Código PHP:
import javax.swing.*;
import java.sql.*;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Rectangle;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class 
AccessBD implements ActionListener{
    private 
Connection c;
    private 
JFrame frame;    
    private 
JTextField user;    
    private 
JButton button;
    private 
GridBagLayout layout;
    private 
GridBagConstraints gbc;
    private 
JLabel label;
    private 
JPasswordField pass;
    private 
Statement st;
    private 
ResultSet rs;
    private 
DatabaseMetaData metadata;    
    private 
String statement;
    
String id "Alberto";
    
String passw "otreblax";
    
ResultSet result null;

    public 
AccessBD(){
        
layout =new GridBagLayout();
        
gbc = new GridBagConstraints ();
        
frame = new JFrame("Conectar");
        
frame.setSize (300,250);
        
Rectangle screenRect frame.getGraphicsConfiguration().getBounds();
        
frame.setLocation(
        
screenRect.screenRect.width/frame.getSize().width/2,
        
screenRect.screenRect.height/frame.getSize().height/2);
        
frame.getContentPane ().setLayout (layout);
        
init();
        
frame.setResizable (false);
        
frame.setVisible (true);
    }
    
    private 
void init(){        
        
gbc.gridwidth gbc.RELATIVE;        
        
gbc.insets = new Insets (5,5,5,5);
        
label = new JLabel("usuario:");
        
layout.setConstraints (label,gbc);
        
frame.getContentPane ().add (label);
        
layout.setConstraints (label,gbc);
        
        
gbc.gridwidth gbc.REMAINDER;        
        
gbc.insets = new Insets (5,5,5,5);
        
user = new JTextField (12);
        
layout.setConstraints (user,gbc);
        
frame.getContentPane ().add (user);        
        
        
gbc.gridwidth gbc.RELATIVE;        
        
gbc.insets = new Insets (5,5,5,5);
        
label = new JLabel ("password:");
        
layout.setConstraints (label,gbc);
        
frame.getContentPane ().add (label);
        
layout.setConstraints (label,gbc);        
        
        
gbc.gridwidth gbc.REMAINDER;        
        
gbc.insets = new Insets (5,5,5,5);
        
pass = new JPasswordField (12);
        
layout.setConstraints (pass,gbc);
        
frame.getContentPane ().add (pass);        
                
        
gbc.gridwidth gbc.RELATIVE;        
        
gbc.insets = new Insets (5,5,5,5);
        
button = new JButton ("Conectar");
        
button.addActionListener (this);
        
layout.setConstraints (button,gbc);
        
frame.getContentPane ().add (button);
        
layout.setConstraints (button,gbc);
        
        
gbc.gridwidth gbc.REMAINDER;
        
gbc.insets = new Insets (5,5,5,5);
        
button = new JButton ("Cancelar");
        
button.addActionListener (this);
        
layout.setConstraints (button,gbc);
        
frame.getContentPane ().add (button);
        
layout.setConstraints (button,gbc);
    }
    
    
    public 
void actionPerformed(ActionEvent ae){
        if(
ae.getActionCommand ().equals ("Conectar")){
        try{
            
String usu=""pas="";
            
String url "jdbc:odbc:Usuarios";
            
String query "SELECT nom_usu FROM Usuario";
            Class.
forName("sun.jdbc.odbc.JdbcOdbcDriver");
            
DriverManager.getConnection(url,id,passw);
            
c.setAutoCommit(false);
            
usu=user.getText ();            
            
paspass.getText ();
            
st=c.createStatement ();
            
            
result st.executeQuery(query );//("SELECT nom_usu FROM Usuario");
            
String nombre result.getString("Usuario");
            
System.out.println(nombre);
            
            if(
usu==nombre){
                
System.out.println("Nombre correcto");
                
//Ir a la siguiente ventana
            
}
            else{
                
System.out.println("Nombre Incorrecto");
                
            }
            
//    frame.dispose ();        
    
        
}catch(SQLException es){
            
System.out.println("Sql " +es);
            
System.out.println("error query"+es);
        }catch(
ClassNotFoundException nfe){
            
System.out.println("Sql " +nfe);
            
nfe.printStackTrace ();            
        }                    
                
    }else{
            
frame.dispose();
        }
    }
        
        public static 
void main(String []args){
                
AccessBD abd= new AccessBD();
                
abd.init();
                
        }
    } 
No se si este haciendo mal el query o q es lo q este mal pq mi base de datos es Usuarios y solo tiene la Tabla Usuario con los campos nom_usu y psw_usu
sinceramente no se que es lo q pasa
  #2 (permalink)  
Antiguo 05/12/2005, 16:42
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Pues estas seleccionando nom_usu de la tabla Usuario, pero luego haces esto

result.getString("Usuario");

Esto es lo que en la gerga informatica suele decirse que es un error de capa 8

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 05/12/2005, 22:35
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
cuando te salga esta exception

QLException: Column not found

significa "columna no encontrada", asi que cuando veas eso significa que estas tratando de sacar un campo que no existe en la tabla, que es exactamebnte lo que te dijo el buen amigo Goncafa!!

have funnnnnnnnnn!!
  #4 (permalink)  
Antiguo 06/12/2005, 00:12
 
Fecha de Ingreso: diciembre-2005
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchas gracias si era eso era en lugar de Usuario nom_usu pero ahora tengo un pequeño gran problema
Código PHP:
public void actionPerformed(ActionEvent ae){
        
        
String  usu=""pas="";
        if(
ae.getActionCommand().equals ("Conectar")){
                    
            try{
                
String url "jdbc:odbc:Usuarios";
                Class.
forName("sun.jdbc.odbc.JdbcOdbcDriver");
                
DriverManager.getConnection(url,id,passw);
                
c.setAutoCommit(false);            
            
usu=user.getText();
            
pas=new String(pass.getPassword());
                
    
                
st=c.createStatement();
                
String query "SELECT nom_usu FROM Usuario";

                
result st.executeQuery(query);
    
                   while(
result.next()){
                       
                    
nombreresult.getString("nom_usu");                    
                    if(
usu.equalsIgnoreCase(nombre)){
                         
System.out.println("Nombre correcto A LA VERNOO");
                        
frame.dispose();
                        
//NEW OTRACLASE().INIT();                        
                        
return;
                    }else{
                    
System.out.println("HOLA "+usu+" "+nombre);
                    }
        
                }
            }catch(
Exception nfe){
                
nfe.printStackTrace ();            
            }    
    
                
        }else{
            
frame.dispose();
        }
    } 
el getText(); no me guarda nada no me esta obteniendo el texto alguien de uds me podria dcir el pq de esto :S
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:10.