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

Sentencia Sql y java problema

Estas en el tema de Sentencia Sql y java problema en el foro de Java en Foros del Web. Hola a todos, espero puedan ayudarme en este problema: Estoy intentando guardar unos datos tomados de una lista a una tabla en una base de ...
  #1 (permalink)  
Antiguo 26/07/2011, 16:25
Avatar de kannonnr  
Fecha de Ingreso: junio-2011
Ubicación: Pasto
Mensajes: 39
Antigüedad: 8 años
Puntos: 1
Exclamación Sentencia Sql y java problema

Hola a todos, espero puedan ayudarme en este problema:

Estoy intentando guardar unos datos tomados de una lista a una tabla en una base de datos, pero me aparece el problema de que algo esta mal escrito en la sentencia sql, aqui dejo un pedezao de codigo, espero puedan ayudarme con esta duda, la verdad es q no e trabajado mucho con java y mysql.

tabla1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){

int fila = tabla1.rowAtPoint(e.getPoint());
int columna = tabla1.columnAtPoint(e.getPoint());
if ((fila > -1) && (columna > -1)){
String opc=JOptionPane.showInputDialog(null,"Nombre del Estudiante","Registrando Prestamo",JOptionPane.QUESTION_MESSAGE);
if(opc!=null){
int auxcod=Integer.parseInt(modelo1.getValueAt(fila,0) .toString());
String auxnom=modelo1.getValueAt(fila,1).toString();
String auxaut=modelo1.getValueAt(fila,2).toString();
String auxmat=modelo1.getValueAt(fila,6).toString();
Calendar c = new GregorianCalendar();

String fec_pres;

fec_pres=Integer.toString(c.get(Calendar.YEAR))+"-"+Integer.toString(c.get(Calendar.MONTH))+"-"+Integer.toString(c.get(Calendar.DATE));

//dia = Integer.toString(c.get(Calendar.DATE));
//mes = Integer.toString(c.get(Calendar.MONTH));
//annio = Integer.toString(c.get(Calendar.YEAR));

try{
//((DefaultTableModel) tabla1.getModel()).getDataVector().removeAllElemen ts();
Class.forName("com.mysql.jdbc.Driver");
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/biblioteca", "root", "bosatzu");
Statement st = conexion.createStatement();
JOptionPane.showMessageDialog(null,"Hasta aqui bn","Estado de Conexión",JOptionPane.ERROR_MESSAGE);
st.executeUpdate("INSERT INTO prestamos VALUES ('"+opc+"','"+fec_pres+"',"+null+","+auxcod+",'"+a uxnom+"','"+auxaut+"','"+auxmat+"'");

//rs.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"Imposible Realizar Prestamo"+ee.getMessage(),"Prestamo de Libro",JOptionPane.ERROR_MESSAGE);

}
}

}
}
});



De antemano muchas gracias por su colaboracion.
__________________
Bosatzu Kannon
Keep Moving Forward
  #2 (permalink)  
Antiguo 26/07/2011, 16:29
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 10 años, 11 meses
Puntos: 416
Respuesta: Sentencia Sql y java problema

¿No te muestra especificamente el error?

Imprime la consula antes de ejecutarla en consola, luego correla en phpMyAdmin para que MySQL te diga exactamente el error.
  #3 (permalink)  
Antiguo 26/07/2011, 16:36
Avatar de kannonnr  
Fecha de Ingreso: junio-2011
Ubicación: Pasto
Mensajes: 39
Antigüedad: 8 años
Puntos: 1
Respuesta: Sentencia Sql y java problema

Lo que me regresa la excepcion es : You have an error in your Sql sintax; check the manual that corresponds to your MySql server version for the right sintax to use near " at line 1.

Pero en el mismo programa tambien realizo una consulta de este tipo:

ResultSet rs = st.executeQuery("SELECT * FROM libros WHERE autor LIKE '%"+t2_1.getText()+"%'");

Y esta si se realiza sin ningun problema, lo que me lleva a pensar q al momento de realizar la insercion de datos, he hecho algo mal, aunq no se exactamente lo q es
__________________
Bosatzu Kannon
Keep Moving Forward
  #4 (permalink)  
Antiguo 26/07/2011, 18:07
Avatar de kannonnr  
Fecha de Ingreso: junio-2011
Ubicación: Pasto
Mensajes: 39
Antigüedad: 8 años
Puntos: 1
Respuesta: Sentencia Sql y java problema

Gracias a todos por su ayuda, encontre ya la solucion
__________________
Bosatzu Kannon
Keep Moving Forward

Etiquetas: mysql, sentencia, sql
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 09:39.