Мой предыдущий пост!, после чего я поменял код, привожу пример:
protected static boolean postDatabase(String [] loginData, HttpServletResponse response) throws IOException {
try {
output = response.getWriter();
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(URL,USER_NAME,PASSWORD);
String checkingUser = "SELECT nick_name,email,password FROM users WHERE nick_name = ?";
PreparedStatement preparedStatement = connection.prepareStatement(checkingUser);
preparedStatement.setString(1,loginData[0]);
ResultSet resultSet = preparedStatement.executeQuery(checkingUser);
int passwordColumn = resultSet.findColumn("password");
if(resultSet.getString(passwordColumn).equals(loginData[1])) {
int emailColumn = resultSet.findColumn("email");
if(resultSet.getString(emailColumn).equals(loginData[2])){
return true;
}
}
} catch (IOException ioError) {
ResponseDataHandler.ToJSONresponse(ioError.toString(),response);
} catch (ClassNotFoundException notFound) {
ResponseDataHandler.ToJSONresponse(notFound.toString(),response);
} catch (SQLException sql) {
ResponseDataHandler.ToJSONresponse(sql.toString(),response);
}finally {
try {
connection.close();
} catch (SQLException sql) {
ResponseDataHandler.ToJSONresponse(sql.toString(),response);
}
}
return false;
}
}
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
Нo данный код ниже работает:
protected void postDataBase(User user, HttpServletResponse response) throws IOException {
try {
output = response.getWriter();
System.out.print(user);
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(URL,USER_NAME,PASSWORD);
String creatingUser = "INSERT INTO coupon_system.users(nick_name, first_name, last_name, password, email) VALUES (?,?,?,?,?)";
String creatingUserRole = "INSERT INTO roles (rol, nickname) VALUES (?,?)";
PreparedStatement createUser = connection.prepareStatement(creatingUser);
createUser.setString(1,user.getNickName());
createUser.setString(2,user.getFirstName());
createUser.setString(3,user.getLastName());
createUser.setString(4,user.getPassword());
createUser.setString(5,user.getEmail());
createUser.execute();
PreparedStatement createRole = connection.prepareStatement(creatingUserRole);
createRole.setString(1,user.getCustomerType());
createRole.setString(2,user.getNickName());
createRole.execute();
ResponseDataHandler.ToJSONresponse("Success",response);
} catch (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException duplicate){
ResponseDataHandler.ToJSONresponse(duplicate.toString(),response);
}catch (ClassNotFoundException notFound){
ResponseDataHandler.ToJSONresponse(notFound.toString(),response);
}
catch (SQLException sql){
ResponseDataHandler.ToJSONresponse(sql.toString(),response);
}catch (IOException io){
ResponseDataHandler.ToJSONresponse(io.toString(),response);
} finally {
try {
connection.close();
} catch (SQLException sql) {
ResponseDataHandler.ToJSONresponse(sql.toString(),response);
}
}
}
}
Не могу понять ошибку, которую получаю.. Если бы была связь о проблеме с версией MySQL Server на моём ПК, то при регистрации данная конструкция тоже должна была не работать.. Если кто сталкивался с таким - буду рад помощи!
Согласно en-so вам надо запускать запрос без аргументов
http://stackoverflow.com/a/24692705/3212712
ResultSet resultSet = preparedStatement.executeQuery();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Так выглядит мой запрос: