0

所以我正在尝试编写代码来更新我的表 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();
}                       
4

1 回答 1

2

取出“value3”变量周围的单引号。数值不应包含它们。

于 2013-06-05T14:32:21.757 回答