新しい部屋を追加したい場合は、保存をクリックすると、Room Number, Room type, Bed number and Rates
をテキストフィールドに入力します。java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException:入力文字列の場合: ""データベースに保存中
エラーはat RoomMang.jButton1ActionPerformed(RoomMang.java:352)
に由来します。これはfetchFromTextF();
機能です。画像を参照してください。System.out.println (insertquery);
を使用して
私のinsert文は次のようになります。 insert into roomdetail(room_no,room_type,room_rate,room_bed)values('','','','');
これは私がテキストフィールドからデータを取得する方法である:
public void fetchFromTextF(){
rno=rnumber.getText();
rtype=jTextField2.getText();
rrate=Integer.parseInt(jTextField3.getText());
rbed=jTextField4.getText();
}
そして、これが私の保存アクションを行っボタンです。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
clearTextF();
enableTextF();
String query = "SELECT * FROM roomdetail where room_no like '" + rnumber.getText() + "';";
smt = con.createStatement();
rs1 = smt.executeQuery(query);
if (!rs1.next()) {
try {
if (evt.getActionCommand().equals("Save")) {
fetchFromTextF();
int code = JOptionPane.showConfirmDialog(this, "Information of Room No." +rno+ " will be added in database.", "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (code == JOptionPane.YES_OPTION) {
String insertquery = "insert into roomdetail(room_no,room_type,room_rate,room_bed)values('" +rno + "','" + rtype + "'," + rrate + ",'" + rbed + "');";
smt = con.createStatement();
int success = smt.executeUpdate(insertquery);
if (success > 0) {
JOptionPane.showMessageDialog(this, "Record Saved");
jButton1.setText("New");
} else {
JOptionPane.showMessageDialog(this, "Problem in Saving. Retry");
}
} else {
}
} else if (evt.getActionCommand().equals("New")) {
clearTextF();
jButton1.setText("Save");
}
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(this, "Room No. already used, Give another Room No.");
}
} catch (Exception ex) {
}
}
があなたのスタックトレースを表示キャッチに変更に失敗します。私はそれが*あなたが持っているSQLインサートに起こると思います。 PreparedStatementを使用して、これらのエラーや可能性のあるSQLインジェクション攻撃を回避してください。https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html –
ありがとう、私は質問を更新しました。 –