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

Como puedo crear un formulario que guarde en 3 diferentes tablas

Estas en el tema de Como puedo crear un formulario que guarde en 3 diferentes tablas en el foro de Java en Foros del Web. Bueno lo que quisiera saber si me pueden ayudar a como guardar datos en 3 diferentes tablas, este es mi codigo: mostrar_grupos.jsp <%@ include file="conecta.jsp" ...
  #1 (permalink)  
Antiguo 14/06/2009, 19:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 155
Antigüedad: 15 años, 6 meses
Puntos: 1
Como puedo crear un formulario que guarde en 3 diferentes tablas

Bueno lo que quisiera saber si me pueden ayudar a como guardar datos en 3 diferentes tablas, este es mi codigo:

mostrar_grupos.jsp
<%@ include file="conecta.jsp" %>
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mostrar grupos</title>
</head>

<body>
<h2>Grupos</h2>
<p><a href="crear_grupo.jsp">Agregar grupo</a></p>
<table width="500" border="1" align="center">
  <tr>
    <th width="34">Id</th>
    <th width="138">Nombre</th>
    <th> Descripción</th>
  </tr>
  
  <% 
  COMANDO="select * from grupos";
  
  rset = stmt.executeQuery(COMANDO);
  while(rset.next()){
  %>
  <tr>
    <td><%= rset.getInt("id") %></td>
    <td><%= rset.getString("nombre") %></td>
    <td><%= rset.getString("descripcion") %></td>
  </tr>
  <% } %>
  
  <% rset.close(); %>
  
</table>
</body>
</html> 
crear_grupo.jsp
Código HTML:
<%@ include file="conecta.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Crear grupo</title>
</head>

<body>
 <h2>Crear grupo </h2>
 <p>&nbsp; </p>
 <form id="form1" name="form1" method="post" action="grabar_grupo.jsp">
  <table width="400" border="1" align="center">
     <tr>
       <td width="80">&nbsp;</td>
       <td width="304">&nbsp;</td>
     </tr>
     <tr>
       <td>Nombre:</td>
       <td><input type="text" name="f_nombre" id="f_nombre" /></td>
     </tr>
     <tr>
       <td>Descripcion:</td>
       <td><textarea name="f_descripcion" id="f_descripcion" cols="45" rows="5"></textarea></td>
     </tr>
     <tr>
       <td>&nbsp;</td>
       <td><label>
         <select name="select" id="select">
           <option>Matematica</option>
           <option>Historia</option>
           <option>Quimica</option>
         </select>
       </label></td>
     </tr>
     <tr>
       <td>&nbsp;</td>
       <td><input type="submit" name="button" id="button" value="Enviar" /></td>
     </tr>
   </table>
  </form>
</body>
</html> 
grabar_grupo.jsp
Código HTML:
<%@ include file="conecta.jsp" %>

<%
	String nombre = request.getParameter("f_nombre");
	String descripcion = request.getParameter("f_descripcion");
	
	int enviar=0;
	
		COMANDO="insert into grupos values(null,'"+nombre+"','"+descripcion+"')";
		enviar = stmt.executeUpdate(COMANDO);
		response.sendRedirect("mostrar_grupos.jsp");
%> 
conecta.jsp
Código HTML:
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>

<%

Connection conn = null;
Statement stmt = null;
ResultSet rset = null;

String COMANDO = "";

Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/libreria");
stmt = conn.createStatement();

%> 
La base de datos se llama libreria y las 3 tablas se llaman matematica, historia y quimica, con los campos id, nombre y descripcion.

Lo que quisiera saber es como puedo hacer para que cuando el libro sea de matematica se guarde en la tabla de matematica ó cuando el libro sea de quimica se guarde en la tabla quimica.
Espero que me puedan entender y ayudar GRACIAS.
  #2 (permalink)  
Antiguo 14/06/2009, 23:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Como puedo crear un formulario que guarde en 3 diferentes tablas

Primero si guardas libros dependiendo de su categoria en diferentes tablas,me parece que tu DB esta mal, segundo tampoco me parece que tengas la coneccion en el codigo JSP, mejor crea un bean de coneccion, en todo caso deberias hacer un bean, que te realize el trabajo pues tus datos al parecer son los mismos, entonces seteas los datos al bean y luego le pones un metodo de guardar y ahi con un par de if lo solucionas, no es lo mas optimo pero funcionaria, Suerte
  #3 (permalink)  
Antiguo 15/06/2009, 00:43
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Como puedo crear un formulario que guarde en 3 diferentes tablas

Hola:

Me gustaría incidir sobre lo que te han comentado. Un buen diseño de las tablas es importantisimo. Para mi al menos lo es.

Las tablas deberian estar todas, al menos, en la "tercera forma normal de Cood". Realmente es un proceso. Puedes tener todos los campos de tu base juntos y mezclados formando una sola tabla. Le pasas la primera forma normal de Cood (tendras que dividir en dos o tres... o las que sean, la tabla), luego la segunda (lo mismo tienes que volver a separar) y luego la tercera...
Hay mas formas normales, pero (no me acuerdo la razón) con que esté en tercera forma normal ya te vale.

Si tienes alguna dudilla, pues sigues preguntado.
Un saludo

Última edición por itubal; 15/06/2009 a las 00:57
  #4 (permalink)  
Antiguo 15/06/2009, 12:11
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años
Puntos: 7
Respuesta: Como puedo crear un formulario que guarde en 3 diferentes tablas

Concuerdo con tener un buen diseño de base de datos, Yo en vez de tener 3 tablas crearia una tabla Libros y con los campos: id , nombre,descripcion nada mas
  #5 (permalink)  
Antiguo 15/06/2009, 15:20
 
Fecha de Ingreso: octubre-2008
Mensajes: 155
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como puedo crear un formulario que guarde en 3 diferentes tablas

Bueno, entoces me estan aconsejando usar solo 1 tabla?
pero digamos que esta vez no quiero registrar libros sino usuarios.
Por ejemplo quiro registrar a un administrador, supervisor y a un empleado pero cada uno va a ingresar a otro tipo de pagina, mi pregunta es la siguiente:
Puedo tambien usar una sola tabla para los 3 diferentes tipos de usuarios?
  #6 (permalink)  
Antiguo 15/06/2009, 15:43
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Como puedo crear un formulario que guarde en 3 diferentes tablas

Hola:

Te aconsejo que por favor te mires lo que te he comentado de bases de datos. Es más, buscate un buen tutorial. Las bases de datos pueden ser muy sencillas, pero no es lo normal, porque se hacen para recoger muchos datos, muchos campos en muchos registros.

Diseño de bases de datos
Esta tiene pinta de ser buena. Para lo de normalizalas tienes esta:

Normalizacion de bases de datos
pero vamos... empieza por la otra, ya que te veo un poco verde.


P.D: A tu pregunta anterior. Si solo una tabla.
¿Y si mañana tienes que incluir un invitado?

alfcm: Y el campo asignatura o tema o como quieras llamarlo para ponerle los valores , Historia, Geografia, Matematicas, Quimica ... etc...

Un saludo

Última edición por itubal; 15/06/2009 a las 15:53
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 22:41.