java1996 2016-09-01 05:48 采纳率: 0%
浏览 1320

此代码运行结果一直显示注册失败,注册成功了也是显示失败,注册失败了还会把数据列入数据库

package edu.jmi.xyh.view;

import java.awt.BorderLayout;

public class RegisterView extends JFrame {

private JPanel contentPane;
private JTextField txID;
private JTextField txName;
private JPasswordField txPw;



/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                RegisterView frame = new RegisterView();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public RegisterView() {
    setTitle("\u5B66\u751F\u4FE1\u606F\u6CE8\u518C");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 361, 327);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JLabel label = new JLabel("\u5B66 \u751F \u4FE1 \u606F \u6CE8 \u518C");
    label.setFont(new Font("宋体", Font.PLAIN, 20));
    label.setBounds(109, 10, 197, 27);
    contentPane.add(label);

    JLabel lblId = new JLabel("\u7528 \u6237 ID\uFF1A");
    lblId.setBounds(78, 47, 73, 15);
    contentPane.add(lblId);

    JLabel label_2 = new JLabel("\u7528 \u6237 \u540D\uFF1A");
    label_2.setBounds(78, 85, 73, 15);
    contentPane.add(label_2);

    JLabel lblNewLabel = new JLabel("\u5BC6    \u7801\uFF1A");
    lblNewLabel.setBounds(78, 124, 73, 15);
    contentPane.add(lblNewLabel);

    txID = new JTextField();
    txID.setBounds(157, 47, 110, 21);
    contentPane.add(txID);
    txID.setColumns(10);

    txName = new JTextField();
    txName.setBounds(161, 82, 106, 21);
    contentPane.add(txName);
    txName.setColumns(10);

    txPw = new JPasswordField();
    txPw.setBounds(161, 121, 106, 21);
    contentPane.add(txPw);

    JButton btnNewButton = new JButton("\u6CE8\u518C");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //完成注册功能
            String id=txID.getText();
            if(id==null||id.length()==0||id.length()>20){
                JOptionPane.showMessageDialog(null, "ID输入不正确!");
            }
            //继续验证用户名和密码
            String pw=txPw.getText();
            String name=txName.getText();
            Student student=new Student();

            student.setStuId(id);
            student.setStuName(name);
            student.setStuPwd(pw);
            StudentDao studentDao=new StudentDao();
            int result=studentDao.save(student);
            if(result==4)
                JOptionPane.showMessageDialog(null, "注册成功!");
            else{
                JOptionPane.showMessageDialog(null, "注册失败!");
                System.exit(0);
            }
            System.out.println("id="+id+"pw="+pw);
        }
    });
    btnNewButton.setBounds(47, 183, 93, 23);
    contentPane.add(btnNewButton);

    JButton btnNewButton_1 = new JButton("\u9000\u51FA");
    btnNewButton_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //生成一个对象
            MainView mainView = new MainView();
            //隐藏窗口
            RegisterView.this.setVisible(false);
            mainView.setVisible(true);
        }
    });
    btnNewButton_1.setBounds(194, 183, 93, 23);
    contentPane.add(btnNewButton_1);
}

public void setMainView(MainView mainView) {
    // TODO Auto-generated method stub

}

public void setID(Object id) {
    // TODO Auto-generated method stub

}

}

  • 写回答

1条回答 默认 最新

  • IT-小崔 2016-09-01 12:54
    关注

    int result=studentDao.save(student); 这个int你返回的是什么?
    为什么和4比较呢? 如果是原生jdbc代码,我猜你返回的有两种可能。
    1、你返回的是 int result = ps.executeUpdate() 这个方法的结果
    这个结果代表的是 受影响的行数。
    如果是insert操作 基本上永远是1
    2、你返回的是保存获得的主键,对于mysql来说 这个值是递增的,也不会是4

    你根据这两种情况查下代码。
    如果都不对 贴下studentDao.save(student);的代码

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算