java插入mysql工作台

iqih9akk  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(351)

我有一个名为customer的mysql数据库,我正试图从gui中的textfield插入数据。我运行了下面的代码,控制台显示“连接成功”,没有错误。我检查了一下信息是否已插入mysql数据库的customer表中,但没有插入任何内容。有人知道为什么吗?

button.setOnAction(e -> {

         Connection dbConnection = null;
            PreparedStatement preparedStatement = null;

         try {

           Customer cust = new Customer();
          dbConnection = Connect();
            String sql="Insert into CIS3270.Customer(firstName,lastName, email,userNAME,Address,Zip,State,SecurityQ,  Password, ConfirmPassword,SSN)VALUES (?,?,?,?,?,?,?,?,?,?,?)"; 
            preparedStatement =  dbConnection.prepareStatement(sql);

            preparedStatement.setString(1,cust.getFirstName()); 
            preparedStatement.setString(2,cust.getLastName()); 
            preparedStatement.setString(3,cust.getEmail()); 
            preparedStatement.setString(4,cust.getUserNAME()); 
            preparedStatement.setString(5,cust.getAddress());
            preparedStatement.setString(6,cust.getZip()); 
            preparedStatement.setString(7,cust.getState());
            preparedStatement.setString(8,cust.getSecurityQuestion());
            preparedStatement.setString(9,cust.getPassWORD()); 
            preparedStatement.setString(10,cust.getConfirmPassword());
            preparedStatement.setString(11,cust.getSSN()); 

            preparedStatement.executeBatch(); 
            preparedStatement.executeUpdate();

            dbConnection.close(); 
            preparedStatement.close(); 

        LoginScreen loginPage = new LoginScreen();

        loginPage.start(primaryStage);

         }
         catch(Exception e1) {
            e1.printStackTrace();
         }
    });

       public static Connection Connect() {
       Connection con = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = (Connection) DriverManager.getConnection("jdbc:mysql://(ip adress):3306/CIS3270", "root", "password");
    } catch (Exception e) {
        System.out.println("Can not connect");
    }
    if (con != null) {
        System.out.println("Connected Successfully");
    }
    return con;
}
kupeojn6

kupeojn61#

由于插入的是单行,因此不需要批插入。
你的代码什么都不做的原因是因为你正在执行一个空的批处理。你需要打电话 preparedStatement.addBatch() 我也是。或者把它去掉 executeBatch() 打电话,就像你说的那样 executeUpdate() 我也是。

相关问题