Java sql actualizar / eliminar no hacer nada

No estoy seguro de si este es el lugar, pero estoy fuera de ideas, el siguiente es un código de actualización para mi programa, es simple, pero por alguna razón no funciona.

private void txt_updateActionPerformed(java.awt.event.ActionEvent evt) {
   try{
       String value1= txt_id.getText(); 
       String value2= txt_title.getText();
       String value3= txt_firstname.getText();
       String value4= txt_lastname.getText();

        String sql="update publishers set publisher_id='"value1"', publisher_title='"value2"', publisher_name='"value3"', publisher_lastname='"value4"' WHERE publisher_id='"value1"'";
        pst=conn.prepareStatement(sql);            
        pst.execute();
        JOptionPane.showMessageDialog(null, "Updated");
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
    Update_table();  
}

No estoy seguro de lo que sale mal. Traté de cambiar las cosas pero no ayuda. Funciona dentro del programa, pero en realidad no actualiza la base de datos. así que cuando reinicio el programa nada cambió

ok, intenté lo siguiente también sin éxito.

private void txt_updateActionPerformed(java.awt.event.ActionEvent evt) {
   try{
       String value1= txt_id.getText(); 
       String value2= txt_title.getText();
       String value3= txt_firstname.getText();
       String value4= txt_lastname.getText();
         String sql="update publishers set publisher_id='" + value1 + "', publisher_title='" + value2 + "',publisher_name='" + value3 + "', publisher_lastname='" + value4 + "'WHERE publisher_id='" + value1 + "'";
        pst=conn.prepareStatement(sql);

        pst.execute();
        conn.setAutoCommit(true);
        JOptionPane.showMessageDialog(null, "Updated");
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
    Update_table();  
}

y éste

private void txt_updateActionPerformed(java.awt.event.ActionEvent evt) {
   try{


        String sql="update publishers set publisher_id=?, publisher_title=?, publisher_name=?, publisher_lastname=? WHERE publisher_id=?";

        pst=conn.prepareStatement(sql);
        pst.setString(1, txt_id.getText());
        pst.setString(2, txt_title.getText());
        pst.setString(3, txt_firstname.getText());
        pst.setString(4, txt_lastname.getText());
        pst.setString(5, txt_id.getText());

        pst.execute();
        conn.setAutoCommit(true);
        JOptionPane.showMessageDialog(null, "Updated");
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
    Update_table();  
}

update_table es el siguiente

    private void Update_table(){
        try{
        String sql="select publisher_id, publisher_title, publisher_name, publisher_lastname from publishers";
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();
        Table_Publishers.setModel(DbUtils.resultSetToTableModel(rs));
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }

   }
Respuesta 1

Parece que ese código no se compilará. Utilice los parámetros de la declaración preparada en su lugar.

  String sql="update publishers set publisher_id=?, publisher_title=?, publisher_name=?, publisher_lastname=? WHERE publisher_id=?";
    pst=conn.prepareStatement(sql);
    pst.setString(1, value1);
    pst.setString(2, value2);
    pst.setString(3, value3);
    pst.setString(4, value4);
    pst.setString(5, value1);
    pst.execute();
Respuesta: 2

Ese código no se compilaría porque no está concatenando las cadenas correctamente en la consulta, debería ser:

String sql="update publishers set publisher_id='"+value1+"', publisher_title='"+value2+"', publisher_name='"+value3+"', publisher_lastname='"+value4+"' WHERE publisher_id='"+value1+"'";
Respuesta: 3

Necesitamos fusionar dos conjuntos de datos que tienen nombres de columna diferentes, no hay columnas comunes en los conjuntos de datos. Hemos intentado un par de enfoques, ambos enfoques no están dando resultado ...

Tengo dos clases que están estructuradas de esta manera: public class Company {private List <Person> person; ... public List <Person> getPerson () {return person; } ...

Estoy tratando de convertir la gramática ANTLR3 de ant a una gramática ANTLR4, para usarlo con el tiempo de ejecución antlr4-python2. Esta gramática es un analizador difuso C / C ++. Después de convertirlo (básicamente eliminando el árbol ...

Estoy tratando de convertir TextView en una cadena y no estoy seguro si voy a hacerlo de la manera correcta, a continuación se muestra el código que pensé que funcionaría, pero sigo recibiendo errores. TextView test1 = (TextView) ...