无法更新数字错误,“NUMERIC”类型的列无法保存“CHAR”类型的值

时间:2013-06-05 12:31:07

标签: java sql jdbc sql-update

所以我正在尝试创建一个代码来更新我的表PATIENT中的列。不幸的是我无法更新数字列,因为我收到错误说: “NUMERIC”类型的列不能保存“CHAR”类型的值。

我得到的另一个错误是我不能将整数类型作为WHERE子句,有什么想法吗?

继承我的代码

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


        Integer value0= Integer.parseInt(pat_id.getText());
        String value1= fName.getText();           
        String value2= lName.getText();
        Integer value3= Integer.parseInt(age.getText());

        String value4= (String)gender.getSelectedItem();
        String value5= address.getText();
        Integer value6= Integer.parseInt(home_number.getText());
        Integer value7= Integer.parseInt(mobile_number.getText());
        String value8= emer_cont_name.getText();
        Integer value9= Integer.parseInt(emer_cont_no.getText());

        String sql= "update PATIENT SET FNAME='"+value1+"', AGE='"+value3+"' WHERE PATIENT_ID='"+value0+"'";
        pst=conn.prepareStatement(sql);

        pst.execute();
        JOptionPane.showMessageDialog(null, "Record has been updated");
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
    Update_table();
}                       

1 个答案:

答案 0 :(得分:2)

取出'value3'变量周围的单引号。数值不应该有它们。