Recoger datos de una lista de selección y guardar en tabla en mysql

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 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>
<body>
<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>
<br><br><br>
<center><input type="submit" value="grabar" ></center>
</form>
</body>
</html>

Si lo ejecutas verás que se te abre una lista de selección. Pues bien, ahora lo que quiero hacer es elegir una opción en 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 cn;
Statement st;
ResultSet rs;
boolean resultado=false;
try{
String sql="INSERT into datos (iddatos, datos) VALUE(?,?)";
cn=this.obtenerConexion();
st=cn.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? Gracias!

Añade tu respuesta

Haz clic para o