2

私のプロジェクトでは、 txtAdvance のキー イベントを使用しました。

    double gtotal = Double.parseDouble(txtGtotal.getText());
    double ad = Double.parseDouble(txtAdvance.getText());
    double due = gtotal - ad;
    txtDue.setText(String.valueOf(due));

最後の行の実行後、それらのデータを保存するための保存ボタンを追加します。以下にそのクエリを示します。

    public void saveInvoice(JTextField txtgtotal, JTextField txtAdvance, JTextField txtDue, JTextField txtInID) {

    try {
        db.putData("INSERT INTO indetails(inid, gtotal, advance, due) VALUES( '" + txtInID.getText() + "' ,'" + txtgtotal.getText() + "' , '" + txtAdvance.getText() + " ' " + " , '" + txtDue.getText() + "') ");
        JOptionPane.showMessageDialog(null, txtAdvance.getText());

        JOptionPane.showMessageDialog(null, "Invoice details saved");
    } 
    catch (Exception e) {
        JOptionPane.showMessageDialog(null, this.getClass().getName() + " first " + e);
    }
}

行 1 の列 'advance' で MySql Data が切り捨てられています。Advance のデータ型は Double です。しかし、私は長さを置く方法を見つけることができません。
(例として
カラム名:iid、データ型:Int(18) {Primary key}
カラム名:inid、データ型:Int(18)
カラム名:gtotal、データ型:Double
カラム名:advance、データ型:Double
カラム名: due, データ型: Double
)

MySQL クエリ ブラウザを使用しています。問題は、txtAdvance に 0 の値を追加すると、このエラーが発生することです。

4

2 に答える 2