meter campos de formulario en BB.DD
Hola,estoy empezando con jsp. Estoy haciendo una aplicacion con acceso a una base de datos. Tengo una pagina html que es un formulario tÃpico con campos de datos referentes a la persona y un campo fichero para que la persona me pueda enviar un fichero a parte de sus datos.
Para subir el fichero utilizo jspsmartupload y para acceder a la base de datos mysql-connector-java-2.0.14 y ambos me funcionan bien. Lo que necesito es coger los datos de los campos del formulario y meterlos en la base de datos. Me estoy liando un poco y me preguntaba cual es la forma de hacer esto,o una buena forma de hacer esto. Mi codigo es como sigue:
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn=null;
mySmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(1000000);
mySmartUpload.upload();
conn = DriverManager.getConnection("jdbc:mysql://localhost/base");
Enumeration e = mySmartUpload.getRequest().getParameterNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String[] values = mySmartUpload.getRequest().getParameterValues(key);
for(int i = 0; i < values.length; i++) {
// Statement stmt = conn.createStatement();
// ResultSet rs = stmt.executeQuery(sql);
}
}
%>
¿Como hago para pasarle los campos del formulario en la cadena sql INSERT into mitabla? En los bucles va recorriendo estos campos pero uno cada vez, ademas values si lo quiero utilizar fuera del bucle while me dice undefined variable.
Para subir el fichero utilizo jspsmartupload y para acceder a la base de datos mysql-connector-java-2.0.14 y ambos me funcionan bien. Lo que necesito es coger los datos de los campos del formulario y meterlos en la base de datos. Me estoy liando un poco y me preguntaba cual es la forma de hacer esto,o una buena forma de hacer esto. Mi codigo es como sigue:
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn=null;
mySmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(1000000);
mySmartUpload.upload();
conn = DriverManager.getConnection("jdbc:mysql://localhost/base");
Enumeration e = mySmartUpload.getRequest().getParameterNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String[] values = mySmartUpload.getRequest().getParameterValues(key);
for(int i = 0; i < values.length; i++) {
// Statement stmt = conn.createStatement();
// ResultSet rs = stmt.executeQuery(sql);
}
}
%>
¿Como hago para pasarle los campos del formulario en la cadena sql INSERT into mitabla? En los bucles va recorriendo estos campos pero uno cada vez, ademas values si lo quiero utilizar fuera del bucle while me dice undefined variable.
lo primero que debes hacer es poner el action a la forma en la que tienes los campos que deseas insertar en la base de datos, como sigue:
<form name="forma01" action="otro.jsp" methos="post">
aqui van los campos
</form>
otro.jsp
<%
//aqui tomas los datos enviados de la primera forma
HashMap parametros = new HashMap();
Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()) {
String paramName = paramNames.nextElement().toString();
String paramValues[] = request.getParameterValues(paramName);
String paramValue = paramValues[0];
if (paramValue.length() == 0){
parametros.put( paramName,"");
}
else{
parametros.put( paramName,paramValue );
}
}
%>
despues puedes sacar los elementos de HahMap con el metodo get() y con eso tienes los parametros que te enviaron de la primera forma.
espero que te sirva