为了账号安全,请及时绑定邮箱和手机立即绑定

“文本域验证工作不正常”

“文本域验证工作不正常”

慕尼黑的夜晚无繁华 2023-06-21 13:20:59
验证部分出现问题,没有关于空字段的消息显示。立即提供帮助private void addbtnActionPerformed(java.awt.event.ActionEvent evt) {    try{    Class.forName("com.mysql.cj.jdbc.Driver");    Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/dbfinance","root","1234");    String sql="insert into util(type_,due_date,month_,amount,units,status_) values(?,?,?,?,?,?)";    PreparedStatement pstm =con.prepareStatement(sql);    pstm.setString(1,electype.getSelectedItem().toString());    pstm.setString(2,date.getText().toString());    pstm.setString(3,jComboBox1.getSelectedItem().toString());    pstm.setDouble(4,Double.parseDouble(amount.getText()));    pstm.setString(5,unit.getText());    pstm.setString(6,status.getText());   pstm.executeUpdate();   JOptionPane.showMessageDialog(null, "success");   con.close();        }catch(Exception e){            JOptionPane.showMessageDialog(null,e);        }     if(amount.getText().isEmpty()||unit.getText().isEmpty()||status.getText().isEmpty()){            JOptionPane.showMessageDialog(null,"please enter data");           // errorname2.setText("fill this field");    }        }
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

在验证之前,您不应该将数据插入数据库。仅当数据不为空时才插入数据。至于检查数据是否为空,最好修剪文本,以便在给定的空白表示某个值的情况下,任何空白都会被修剪掉。


if(amount.getText().trim().isEmpty()||unit.getText().trim().isEmpty()||

            status.getText().trim().isEmpty()){

        JOptionPane.showMessageDialog(null,"please enter data");

        // errorname2.setText("fill this field");

    }

请确保您将修剪后的数据插入到数据库中。


查看完整回答
反对 回复 2023-06-21
?
慕村225694

TA贡献1880条经验 获得超4个赞

在应用语句之前尝试验证您的金额字段是否为空try-catch:


if(amount.getText().isEmpty()||unit.getText().isEmpty()||status.getText().isEmpty()){

        JOptionPane.showMessageDialog(null,"please enter data");

        // errorname2.setText("fill this field");

    }else{

        try{

            Class.forName("com.mysql.cj.jdbc.Driver");

            Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/dbfinance","root","1234");

            String sql="insert into util(type_,due_date,month_,amount,units,status_) values(?,?,?,?,?,?)";

            PreparedStatement pstm =con.prepareStatement(sql);

            pstm.setString(1,electype.getSelectedItem().toString());

            pstm.setString(2,date.getText().toString());

            pstm.setString(3,jComboBox1.getSelectedItem().toString());

            pstm.setDouble(4,Double.parseDouble(amount.getText()));

            pstm.setString(5,unit.getText());

            pstm.setString(6,status.getText());

            pstm.executeUpdate();

            JOptionPane.showMessageDialog(null, "success");

            con.close();


        }catch(Exception e){

            JOptionPane.showMessageDialog(null,e);

        }

    }


查看完整回答
反对 回复 2023-06-21
  • 2 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信