как называется данное выражение и как оно работает?

INSERT INTO user2(name, last name, age) Values(?, ?, ?);

о чем говорят вопросительные знаки?? О пустых аргументах?


Ответы (1 шт):

Автор решения: Zhantemir Yermekov

Обычно легче ответить на вопрос, если предоставляется больше исходного кода, который вызывает вопрос, Вы же указали только запрос из исходного кода.

Скорее всего это выражение для PreparedStatement, рекомендую прочитать.
То есть вопросительный знак это как бы виртуальная переменная, которую вы укажите при подготовке PreparedStatement. Обычно такие переменные называются "wildcard" - подстановочная переменная.

Например в Вашем случае подготовка PreparedStatement будет выглядеть как-то так:

String sql = "INSERT INTO user2(Name, LastName, Age) Values(?, ?, ?)";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
String name = "Иван";
String lastName = "Иванов";
int age = 35;
preparedStatement.setString(1, name);
preparedStatement.setString(2, lastName);
preparedStatement.setInt(3, age);
→ Ссылка