Java - Consulta SQL en java

   
Vista:

Consulta SQL en java

Publicado por Aleida (27 intervenciones) el 11/05/2009 00:14:40
Hola a todos...
Bueno, mi problema consiste en que no me funciona una consulta SQL...se que todo lo de la conexion a la base de datos esta bien, pues cuando escribo una consulta fija (por ejemplo: SELECT *FROM tabla WHERE campo="hola") funciona y puedo extraer todas las filas. Bueno parece no haber problema, pero si...el problema es que en la condicion quiero poner el valor de una variable y no un valor fijo. he probado con tipos de datos numericos y cadenas y genera una excepcion que se refiere al formato de los numeros o algo asi.
No se si para poner variables en las consultas hay alguna notacion especial...eso eso lo que necesito saber...Gracias de antemano a quien me de una idea sobre este asunto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta SQL en java

Publicado por 1a2a3a4a (57 intervenciones) el 11/05/2009 02:52:21
podrias poner un poco de tu codigo para poder guiarte e indicarte el error.
En todo caso la forma mas sencilla es :

String variable="hola";
SELECT *FROM tabla WHERE campo= '"+variable+"'";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por Aleida (27 intervenciones) el 11/05/2009 19:32:53
Bueno el codigo que tengo es el siguiente:

//------------------------------------------------------------------------------------------------------
String cod=codigo_e.getText();
int numero=Integer.parseInt(cod);

Connection con = DriverManager.getConnection( "jdbc:derby://localhost:1527/pruebita","aly","memoria");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT CODIGO,NOMBRE,APELLIDO FROM PROOF WHERE codigo="+numero+"");

//--------------------------------------------------------------------------------------------------
tengo un textfield en cual se escribira el codigo que es un campo numerico en la base de datos. capturo el texto y lo convierto a entero, esta variable se llama numero.
Luego en la consulta quiero seleccionar los datos de la persona que tiene dicho codigo, pero no funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por mario (622 intervenciones) el 11/05/2009 20:03:26
podrias postear la traza de la excepcion q te envia el java
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por Aleida Rodriguez Mancilla (27 intervenciones) el 11/05/2009 20:12:19
La excepcion es la siguiente:
java.lang.NumberFormatException: For input string: ""
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por 1a2a3a4a (1 intervención) el 11/05/2009 22:21:44
pues el error esta en la conversion a entero, al parecer esta llegando vacio el string:

String cod=codigo_e.getText(); <--- pinta cod, para ver que valor te llega

seguro q codigo_e ,es el nombre del textfield? ,revisa bien

int numero=Integer.parseInt(cod); <-- cod llega vacio ""
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

listo ese era el problema

Publicado por Aleida (27 intervenciones) el 12/05/2009 06:47:01
Hola...ya encontre el error, efectivamente ese era el error, pues todo este codigo estaba dentro de un manejador de eventos y este evento era el escribir una tecla en el textfield y bueno al parecer no es el evento correcto para esta situacion...asi que lo he puesto en el Action.

Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por judit Villanueva (2 intervenciones) el 24/07/2009 18:43:23
prueba con esto con numero enterpo

String cod=codigo_e.getText();

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT CODIGO,NOMBRE,APELLIDO FROM PROOF WHERE codigo="+cod);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por judir julia carhuaricra (2 intervenciones) el 25/07/2009 18:41:03
bueno en mi caso mi profesor me enseño con un numero entero
aunque con una cadena no me puede mostrar pero si quiero ljalarlo desde un jtext file un numero jmplo el codigo de um alumno yo lo hice asi
String code;
code=txtcodalumno.getText();

try{
Statement st=conexion.createStatement();
ResultSet rs=st.executeQuery("Select Codialumno From alumno where CodiAlumno="+code);

ResultSetMetaData rmeta=rs.getMetaData();
int numColumnas=rmeta.getColumnCount();

rs.next();
txtcodalumno.setText(rs.getString(1));
JOptionPane.showMessageDialog(this,"INGRESE OTRO CODIGO","CODIGO DE ALUMNO YA EXISTE",2);
txtcodalumno.setText("");
txtnombrealumno.enable(false);
txtcodalumno.requestFocus();
}catch(Exception ex)
{
//lblsalida.setText("_");
txtnombrealumno.requestFocus();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL en java

Publicado por jesus (3 intervenciones) el 08/04/2015 16:03:57
Estimados amigos, podrían por favor ayudarme? tengo un problema bastante básico pero no encuentro aun la salida.

tengo un sentencia sql con la cual modifico el nombre de las columnas en mi base de datos, tengo un jlist en el cual elijo el nombre de la columna que deseo cambiar y jtxtfield en el que el usuario me ingresa el valor con el que reemplazara el nombre antiguo de la columna, ambos valores los paso a mi sentencia sql de la siguiente manera.

stmt=conn.createStatement();

String query="ALTER TABLE "+ nombredetabla +"CHANGE" + tomaItem + salida +"VARCHAR(10)";
" tomaitem" es el valor que tomo del jlist y "salida" es el
stmt.execute(query);

El problema me lo marca en el tamaño del varchar. pongo el trace con el error.

Desde ya Muchas Gracias.

ql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(10)' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar