Java 用户缺少权限或找不到对象:XXXX

Java 用户缺少权限或找不到对象:XXXX,java,database,Java,Database,当我试图将数据放入数据库时,我遇到了这个错误 这是我的注册功能 void signup() throws SQLException { String name=signupForm.getSignUpName().getText(); String password=new String(signupForm.getSignUpPassword().getPassword()); System.out.println(name)

当我试图将数据放入数据库时,我遇到了这个错误 这是我的注册功能

void signup() throws SQLException {

          String name=signupForm.getSignUpName().getText();
           String password=new String(signupForm.getSignUpPassword().getPassword());


          System.out.println(name);
          System.out.println(password);
        conn= getConnection();
        statement = conn.createStatement();
        query = "INSERT INTO student_signup(student_password) VALUES"+"("+password+")";
          System.out.println(name);

                     rs=statement.executeQuery(query);



            statement.close();
            conn.close();

}
例如,如果我输入qweqwe作为密码,那么error将如下 用户缺少权限或找不到对象:qweqweqwe

表名和字段名与查询中的完全相同,所以并没有问题

完全错误如下:

线程“AWT-EventQueue-0”中出现异常 java.security.PrivilegedActionException: java.security.PrivilegedActionException: net.ucanaccess.jdbc.UcanaccessSQLException:用户缺少权限或 未找到对象:QWEQW


SQL中的字符串应受到单引号的限制,因此应按如下方式更新查询:

query=“插入学生注册(学生密码)值“+”(“+password+”)”;
实际上,通过连接字符串来创建查询是一个非常糟糕的主意,因为您的代码可能容易被SQL注入。更好的方法是使用事先准备好的声明:

PreparedStatement语句=conn.prepareStatement(“插入学生注册(学生密码)值(?)”;
语句.setString(1,密码);
语句。execute();