Ver Mensaje Individual
  #12 (permalink)  
Antiguo 05/05/2010, 21:13
josh_michel
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: insertar varios registros de un solo click en mysql

Cita:
Iniciado por cosme1 Ver Mensaje
mmmm pero ps tu dime que es lo que marca de error o cual es el problema, no soy adivino y en pseudocodigo es dificil saber los errores.
primero no recuerdo si influyan las mayusculas y las minusculas, segun yo si asi que checa eso por que en tu jsp los nombres de tus campos estan en mayusculas y abajo los pones con minusculas, tambien procura poner los nombres entre comillas (en el jsp claro) por que esos pequeños detalles a veces pueden llegar a causar conflicto.
segundo en el campo_abono le pusiste +1 en vez de i.
otra cosa por que pones int n= instruccion.executeUpdate(); ?? por que igualas tu sentencia de insertar a un int??
por ultimo por que ay tantos ; nada mas asi ?? segun yo no van.
Pues checa esto pero te podria ayudar mas si me dices los errores, bueno dentro de lo que cabe por que yo tambien soy un novato jaja.

Saluditos.
Muchas gracias cosme, despues de miles de intentos, ahi estáa, funcionando, muchas graciass! de vdd, me sirvió de mucho tu consejo! Por cierto, lo de los muchos ; que hay, son correspondientes a la identacion, solo que se me va en el enter, pero corresponde a la finalizacion de una declaracion jejej! y con lo de instrucción.executeUpdate(); se utiliza para eecutar la funcion ya sea de actualizar, insertar o eliminar en la base de datos! jejeje y nuevamente gracias por tu ayuda en mi problema!

Código Javascript:
Ver original
  1. <&#37;
  2.  
  3.             // Para que permita grabar los datos si la tabla está vacia.
  4.             if (request.getParameter("GRABAR") != null) {
  5.  
  6.                 // objetos de enlace
  7.  
  8.                 Connection canal = null;
  9.  
  10.                 ResultSet tabla = null;
  11.  
  12.                 Statement instruccion = null;
  13.  
  14.                 String strcon = "jdbc:mysql://localhost/scii_financiero?user=root&password=";
  15.  
  16.                 // abriendo canal o enlace en su propio try-catch
  17.  
  18.                 try {
  19.  
  20.                     Class.forName("com.mysql.jdbc.Driver").newInstance();
  21.  
  22.                     canal = DriverManager.getConnection(strcon);
  23.  
  24.                     instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
  25.                             ResultSet.CONCUR_UPDATABLE);
  26.  
  27.                 } catch (java.lang.ClassNotFoundException e) {
  28.                 } catch (SQLException e) {
  29.                 }
  30.                 ;
  31.  
  32.                 //cargando los campos a grabar
  33.                 // excepto clave porque en mysql es de tipo auto-increment
  34.                 // insert into tabla(columnas) values(valores);
  35.  
  36.  
  37.                 for (int i = 0; i < 6; i++) {
  38.  
  39.  
  40.  
  41.  
  42.                     String campo_concepto = "CONCEPTO" + i;
  43.                     String campo_cargo = "CARGO" + i;
  44.                     String campo_abono = "ABONO" + i;
  45.                     String campo_num_poliza = "NUM_POLIZA";
  46.                     String campo_num_diario = "NUM_DIARIO";
  47.  
  48.                     String concepto = request.getParameter(campo_concepto); // aqui mi idea que tus textfield se llamen nombre mas un numero name="concepto0"
  49.                     Integer cargo = Integer.parseInt(request.getParameter(campo_cargo));
  50.                     Integer abono = Integer.parseInt(request.getParameter(campo_abono));
  51.                     Integer num_poliza = Integer.parseInt(request.getParameter(campo_num_poliza));
  52.                     Integer num_diario = Integer.parseInt(request.getParameter(campo_num_diario));
  53.  
  54.                     // y asi recuperas todos y luego los insertas con la linea que tienes arriba
  55.  
  56.                     String q = "INSERT INTO movimientos_polizas( concepto , cargo , abono , num_poliza , num_diario ) VALUES" +
  57.                             "(\"" + concepto + "\"," + cargo + "," + abono + "," + num_poliza + "," + num_diario + ");";
  58.  
  59.                     // y esto se repite 6 veces y como i crece la siguiente vez recuperaria los valores de la siguiente fila
  60.  
  61.                     // agregando renglon (insert)
  62.                         int n = instruccion.executeUpdate(q);
  63.  
  64.                 };
  65.  
  66.  
  67.              
  68.  
  69.                     try {
  70.  
  71.                         // tabla.close();
  72.  
  73.                         instruccion.close();
  74.  
  75.                         canal.close();
  76.  
  77.                     } catch (SQLException e) {
  78.                         out.println(e);
  79.                     }
  80.                     ;
  81.  
  82.                 }
  83.  
  84.  
  85.         %>

Última edición por josh_michel; 05/05/2010 a las 21:19