Author Topic: COmo puedo insertar varias filas de un jtable en un solo registro a postgresql?  (Read 50 times)

ikkerlinux

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Buen día, podrian apoyarme u orientarme ya que no consigo meter las todas las filas de un jtable en un solo registro de una base de datos de postgresql desde netbeans, los datos se agregan a cada fila del jtable mediante  varios jtextfield correctamente pero al guardarlos en la base de datos los guarda como registros independientes.
Esta parte se encarga de los jtext hacia el jtable:

 private void btnagregarActionPerformed(java.awt.event.ActionEvent evt) {                                               
       
    DefaultTableModel model2 = (DefaultTableModel)tblagregar.getModel();//con esto se gregara cada registro en una fila distinta
    String [] titulos = {"# PARTE","DESCRIPCION","CANTIDAD"};
    model2.setColumnIdentifiers(titulos);
    String registro[] = new String[3];
        registro
  • = txtparte.getText();

        registro [1] = txtdes.getText();
        registro [2] = txtcanti.getText();
        model2.addRow(registro);
     
    txtparte.setText(null);
    txtdes.setText(null);
    txtcanti.setText(null);
   
    }       
Aqui ningún problema ya que si los pasa auna fila consecutiva cada que se da click al boton agregar pero cuando lo intento pasar a la base de datos genera cada fila como un registro independiente en la base, aqui el código:

String ssql = null;
        DefaultTableModel model2 = (DefaultTableModel)tblagregar.getModel();
        int filas = tblagregar.getRowCount();
       
       for(int i=0; i<filas; i++)
       {
       
                    String orden = txtorden.getText();
                    String parte = tblagregar.getValueAt(i, 0).toString();
                    String descripcion = tblagregar.getValueAt(i, 1).toString();
                    String cantidad = tblagregar.getValueAt(i, 2).toString();
                    String tecnico = cbxtec.getSelectedItem().toString();
 
        if (filas == 0)
        {
            JOptionPane.showMessageDialog(this, "AGREGA INFORMACION A LA TABLA");
           
        }
try{
                       
                 ssql = "INSERT INTO pedidos (orden,parte,descripcion,cantidad,tecnico) VALUES ('"+orden+"','"+parte+"','"+descripcion+"','"+cantidad+"','"+tecnico+"')";
                 con = pedi.dataSource.getConnection();
                 st = con.createStatement();
                 int rst;
                 rst = st.executeUpdate(ssql);
                 JOptionPane.showMessageDialog(this, "Pedido ingresado correctamente");
                 
            } catch (SQLException ex)   {
               
                            Logger.getLogger(pedido.class.getName()).log(Level.SEVERE, null, ex);
                           
                                        }               
   
       }
    }     

lo he intentado de varias formas simepre con el mismo resultado, ojalá pudieran orientarme Gracias.           
           

 

ey