2017-09-11 19 views
0

MySQLデータベース内の重み(2.150Kg)のようなデータを更新したいとします。MySQLデータベース内のデータを更新する

これは、私は、NetBeansで使用されるコードです:

connectDB(); 
    try{ 

     String value1 = txt_search_code.getText(); 
     String value2 = txt_item_code.getText(); 
     String value3 = txt_discription.getText(); 
     String value4 = txt_bin_balance.getText(); 
     String value5 = txt_date.getText(); 
     String value6 = txt_issued_quantaty.getText(); 
     String value7 = txt_issued_inno.getText(); 
     String value8 = txt_arrived_quantaty.getText(); 
     String value9 = txt_arrived_inno.getText(); 
     String value10 = txt_final_bin_balance.getText(); 

     String sql = "Update tbl_codes set No='"+value1+"',ITEM_CODE='"+value2+"',DISCRIPTION='"+value3+"',PREVIOUS_BIN_BALANCE='"+value4+ 
        "',DATE='"+value5+"',ISSUED_QUANTATY='"+value6+"',ISSUED_INVOICE_NO='"+value7+"',ARRIVED_QUANTATY='"+value8+"',ARRIVED_INVOICE_NO='"+value9+"',FINAL_BINCARD_BALANCE='"+value10+"'WHERE No='"+value1+"' "; 
     PreparedStatement pstmt = con.prepareStatement(sql); 
     pstmt.execute(); 
     JOptionPane.showMessageDialog(null, " Your new records Updated Succsessfully!!"); 

    }catch(Exception e){ 

     JOptionPane.showMessageDialog(null,e); 
    } 

    closeDB(); 

これは、SQL UPDATE文である:

SELECT 
`tbl_stock`.`No`, 
`tbl_stock`.`ITEM_CODE`, 
`tbl_stock`.`DISCRIPTION`, 
`tbl_stock`.`PREVIOUS_BIN_BALANCE`, 
`tbl_stock`.`DATE`, 
`tbl_stock`.`ISSUED_QUANTATY`, 
`tbl_stock`.`ISSUED_INVOICE_NO`, 
`tbl_stock`.`ARRIVED_QUANTATY`, 
`tbl_stock`.`ARRIVED_INVOICE_NO`, 
`tbl_stock`.`FINAL_BINCARD_BALANCE` 
FROM `db_biling`.`tbl_stock`; 

どのように私は体重を更新することができますか?

+0

データベース名は何ですか?すべてのデータが同じテーブルにあるので、 'tbl_stock'を作成する必要はありません。 –

+0

'JOptionPane.showMessageDialog(null、e);'からのメッセージ? –

答えて

1

​​の代わりにexecuteUpdate()を使用してください。しかし、あなたのコードは多くを洗練する必要があります。あなたがPreparedStatementを使用している場合は、私のサンプルコード

String sql = "Update tbl_codes set No= ?,ITEM_CODE=?,DISCRIPTION=?,PREVIOUS_BIN_BALANCE=? 
        ,DATE=?,ISSUED_QUANTATY=?,ISSUED_INVOICE_NO=?,ARRIVED_QUANTATY=?,ARRIVED_INVOICE_NO=?,FINAL_BINCARD_BALANCE=? WHERE No=?"; 
PreparedStatement pstmt = con.prepareStatement(sql); 
pstmt.setString(1, value1); 
pstmt.setString(2, value2); 
pstmt.setString(3, value3); 
pstmt.setString(4, value4); 
pstmt.setString(5, value5); 
pstmt.setString(6, value6); 
pstmt.setString(7, value7); 
pstmt.setString(8, value8); 
pstmt.setString(9, value9); 
pstmt.setString(10, value10); 
pstmt.setString(11, value1); 
pstmt.executeUpdate(); 

をチェック'"+value1+"'のように、SQLに値を連結するのではなく、?を使用しています。 ?を使用すると、より明確で安全です。

関連する問題