2

Netbeans を使用して GUI デスクトップ アプリケーションを開発しています。結果を示さない合計の妥当性を作成しました。変更が必要な場合や間違っている場合は、コーディングの天気を確認してください。実行すると、3 列目にエラーが表示され、結果がありません

private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    Connection con;
    Statement stmt;
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbc");
    } catch (ClassNotFoundException ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
    try {
        con= DriverManager.getConnection("Jdbc:Odbc:food");
        stmt= con.createStatement();

        String st= JcbSub.getSelectedItem().toString();
        String qt= quantity.getText().toString();
        String query;

        Double u_p= (Double) jTable3.getValueAt(row, 1);
        Integer qut= (Integer) jTable3.getValueAt(row, 2);
        Double tot= u_p * qut; //product of column 1 & column 2


        query="select i_price from food where i_name='"+JcbSub.getSelectedItem()+"'";
        ResultSet rs= stmt.executeQuery(query);

        while(rs.next()){
        jTable3.setValueAt(st, row, 0);
        jTable3.setValueAt(rs.getString("i_price"), row, 1); 
        jTable3.setValueAt(qt, row, 2);
        jTable3.setValueAt(tot, row, 3);  //result column

        row ++;
        }

       } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex);
    } 
}
4

2 に答える 2

2

実際には、列 1 の値はデータベース テーブルから選択され、列 2 の値は jTextField を使用して手動で入力され、列 2 に転送されます。

TableModel を拡張し、setValueAt() メソッドをオーバーライドします。

列 1 または 2 の値が変更された場合 (および両方に null 以外の値が含まれている場合) は常に、積を計算して列 3 を更新する必要があります。

于 2013-06-08T19:43:56.503 に答える