Lee este tutorial: http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
porque estás usando un PreparedStatement como si fuese un Statement
http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html
http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html
El hecho de que estés ignorando las excepciones tampoco ayuda, ya que no puedes ver el error que se está produciendo.
En las expresiones de tipo
catch (Exception e){}
Pon al menos:
catch (Exception e){
e.printStackTrace();
}
Un saludo
Hola buenas tardes,
mira, a ver si me puedes ayudar por favor con un tema porque no me sale. Es con java y mysql workbench.
Simplemente he creado una pequeña aplicación web que consiste en un .jsp tan sencillo como este:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Casos de prueba</title>
</head>
<center><h1>Elije un caso de prueba</h1></center>
<form name="insertar" action="guardar" method="post">
<center>
<select id="opciones" name="opciones">
<option value="1"> -Elija una opción-</option>
<option value="2">opción 1</option>
<option value="3">opción 2</option>
</select>
</center>
<center></center>
</form>
</html>
Si lo ejecutas verás que he creado una lista de selección. Pues bien,
ahora lo que quiero hacer es elegir una opción de la lista de selección y
que ese dato se me guarde en una tabla de una base de datos que ya
tengo creada. Y ahí está mi problema. No se como guardar el dato en la BD.
Me he creado una clase.java y ahí he puesto el código siguiente para hacer la conexión
con la base de datos y el insert.
En Mysql tan sólo tengo en mi base de datos "prueba" una tabla llamada "datos" con dos columnas: iddatos, datos.
package operaciones;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.útil.ArrayList;
public class guardar {
private String driver, cadenacon;
public guardar(String driver, String cadenacon){
this.driver=driver;
this.cadenacon=cadenacon;
}
private Connection obtenerConexion(){
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/prueba","root","password");
}
catch(ClassNotFoundException e){
}
finally{
return con;
}
}
private void cerrarConexion(Connection con){
try{con.close();}
catch(SQLException e){}
}
public boolean validar(String user, String pwd){
Connection con;
Statement st;
ResultSet rs;
boolean resultado=false;
try{
String sql="INSERT into datos (iddatos, datos) VALUE(?,?)";
con=this.obtenerConexion();
st=con.createStatement();
rs=st.executeQuery(sql);
if(rs.next()){
resultado=true;
}
}
catch (Exception e){}
finally{ return resultado;}
}
}
Sin embargo, no se me guarda nada en la BD. Como lo puedo hacer? me puedes ayudar por favor? Muy agradecida de antemano.