java - 为什么我不能将用户输入添加到前端为 java 和后端为 mysql 的数据库中?

标签 java mysql database

为部门创建表查询: 创建表部门 ( department_id tinyint(2) zerofill not null auto_increment, department_name varchar(30) 唯一键, department_description 文本, 主键(department_id) );

java代码: 包hrmps;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.*;

class AddDepartment extends JPanel
{
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{                                         
String deptName=jTextField1.getText();
String deptDescription=jTextField2.getText();

Connection con=null;
PreparedStatement statement=null;
ResultSet rs=null;

String query="Insert into department values (?,?)";


             try
             {
                  Class.forName("com.mysql.jdbc.Driver");
                con=DriverManager.getConnection("jdbc:mysql:///hrmps?               zeroDateTimeBehavior=convertToNull","root","root");
                statement=con.prepareStatement(query);
                statement.setString(1,deptName);
                statement.setString(2,deptDescription);
                statement.execute();

                int i=statement.executeUpdate();

                if(i>0)

                     JOptionPane.showMessageDialog(null, "Record added");


                else

                        JOptionPane.showMessageDialog(null, "Record couldn't     be added");


                con.close();
          }

        catch(Exception ex)
        {
            System.out.println(ex.getMessage());
        }


}         //end of method                               

}//类(class)结束

最佳答案

String deptName=jTextField1.getText();
String deptDescription=jTextField2.getText();

这两个语句是没有任何方法的。因此,它们在构造对象时执行,远早于用户有机会在文本字段中键入任何内容。

创建 jButton1ActionPerformed 方法的局部变量。只有单击按钮时,您才必须阅读文本字段包含的内容。

顺便说一句,发布的代码中的所有字段都应该是局部变量。当参数为 null 或空时,您的方法 isNullOrEmpty 返回 false。这很令人困惑。

关于java - 为什么我不能将用户输入添加到前端为 java 和后端为 mysql 的数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777868/

相关文章:

PHP 代码不运行并且不提供任何错误

java - JMH - Neo4j 基准测试

java - MySQL 列名中的重音字符

java - 向抛出的异常添加自定义消息,同时在 Java 中维护堆栈跟踪

Php Mysql 插入存储过程

javascript - PHP mysql 先前声明的函数问题

java - 如果在 JSP 中选中复选框,则显示/隐藏内容

php - Laravel 中的那些 SQL 运算符是什么?

database - Subversion 使用什么数据库?

mysql - 基于三个表的层次结构