准备好的语句从Java插入MySQL

时间:2014-06-04 01:39:57

标签: java mysql

好的,我知道在其他帖子中已经被打死了,但是我试图让这个INSERT命令无效。我使用带有JDBC连接器的MySQL 5.6。我正在从GUI中读取String变量并尝试在INSERT中使用它们。我尝试过使用",`,'并且那里的每一个组合都做到这一点,没有。这是一个非常直接的应用程序,所以我错过了什么。是的,变量确实有值,我查了一下。

              try
                 {  

                    String sql = "INSERT INTO customer(firstname, lastname, address, city, state, zip, phone, email)VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

                    PreparedStatement preparedStatement = conn.prepareStatement(sql);
                    preparedStatement.setString(1, custFirst);
                    preparedStatement.setString(2, custLast);
                    preparedStatement.setString(3, custAddress);
                    preparedStatement.setString(4, custCity);
                    preparedStatement.setString(5, custState);
                    preparedStatement.setString(6, custZip);
                    preparedStatement.setString(7, custPhone);
                    preparedStatement.setString(8, custEmail);

                    preparedStatement.executeUpdate(); 

                 }
              catch(Exception err)
                 {
                     System.err.println("Error: " + err.getMessage());
                 }

2 个答案:

答案 0 :(得分:0)

您的查询语句中缺少空格:

"INSERT INTO customer(firstname, lastname, address, city, state, zip, phone, email)VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
                                                                                  ^

应该是

"INSERT INTO customer(firstname, lastname, address, city, state, zip, phone, email) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

答案 1 :(得分:0)

我发现,如果您在尝试向其中插入内容之前连接到数据库,那确实很有帮助。我忘了在我的代码中包含一个连接语句。一旦我补充说它就像一个魅力。想象一下......