【发布时间】:2019-09-20 10:35:24
【问题描述】:
我正在为系统的注册页面编写代码。单击按钮后,系统将检查用户是否年满 14 岁。如果为真,系统应将所有输入的数据保存到 SQL 数据库中。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int age = Integer.parseInt(Age_Input.getText());
String firstname = FirstName_Input.getText();
String surname = Surname_Input.getText();
String email = Email_Input.getText();
String userid = UserID_InputSignUp.getText();
char[] pass = Password_InputSignUp.getPassword();
if (age<14) {
JOptionPane.showMessageDialog(null,"Sorry, You need to be at least 14 years to use this software... ");
new Login_Page().setVisible(true);
this.setVisible(false);
} else {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/user_info", "root", "nerdswonka");
Statement stmt = connect.createStatement();
String query1 = "INSERT INTO user_info(user_id, password, firstname, lastname, emailid, age) VALUES('"+userid+"', "+Arrays.toString(pass)+", '"+firstname+"', '"+surname+"', '"+email+"', "+age+");";
stmt.executeUpdate(query1);
JOptionPane.showMessageDialog(null, "Account Creation succesful!");
stmt.close();
connect.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error in connecting to SQL Database");
}
new Login_Page().setVisible(true);
this.setVisible(false);
}
}
代码没有将任何内容更新到数据库中,只是在出现异常(错误)后显示 JOptionPane。可以对代码进行哪些编辑以便将值存储到 SQL 中?
【问题讨论】:
-
第一个更改:打印错误消息以了解它的含义...更好,还打印堆栈跟踪
e.printStackTrace()- 我怀疑Arrays.toString(pass)不是数据库接受什么,可能你想要new String(pass)
标签: java mysql database netbeans database-connection