java - 在JavaFX中插入MYSQL数据库时出错

标签 java mysql jdbc insert

我在将数据插入 MYSQL 数据库时遇到问题。使用下面的代码我收到错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?)' at line 1 

代码:

public void signUpUser(Connection conn, String userName, String password) {

        String queryString = "INSERT INTO USERS (USER_ALIAS, USER_PASS) VALUES (?,?)";
        try {
            preparedStatement = (PreparedStatement) conn.prepareStatement(queryString);
            preparedStatement.setString(1, userName);
            preparedStatement.setString(2, password);
            preparedStatement.executeUpdate(queryString);

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

但是使用此代码插入可以正常工作:

public void signUpUser(Connection conn, String userName, String password) {
        String queryString = "INSERT INTO USERS (USER_ALIAS, USER_PASS) VALUES ('"+userName+"', '"+password+"')";

        try {
            preparedStatement = (PreparedStatement) conn.prepareStatement(queryString);
            preparedStatement.executeUpdate(queryString);

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

我想知道为什么在使用第一部分代码时会抛出错误 预先感谢您!

最佳答案

尽管您已经创建了语句,但您正在尝试使用字符串执行更新。

你必须使用:

preparedStatement.executeUpdate();

关于java - 在JavaFX中插入MYSQL数据库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326661/

相关文章:

java - 如何使用 FXML 在 JavaFX 中动态创建选项卡?

php - 为什么在使用 MySQLi 在 PHP 中准备句子时显示错误

java - JDBC Prepared Statement 对 session 范围感到困惑

java - 使用助手类使用 Soot 检测 Android 应用程序

java - OpenGL ES 2.0 - 渲染到纹理全黑

java - 在 Spring 中更改数据库

mysql - 为什么我共同的好友查询这么慢?

java - JDBC ResultSet 对象类型映射有没有 Byte 或 Short?为什么只能是整数?

java - 在 ThreadLocal 中包装 JDBC 连接单例

java - 优化 N Queens 代码以避免堆栈溢出