PreparedStatement для вставки неизвестного количества значений с неизвестными типами - PullRequest
2 голосов
/ 02 февраля 2012

У меня есть метод insert(), который вставляет список значений в таблицу, выбранную пользователем.

Проблема в том, что, поскольку пользователь выбирает таблицу, метод не знает, сколько значений нужно вставить и какого они типа. Я решил переменное количество значений с помощью цикла, который использует строитель строк для вставки правильного количества символов «?» В часть значений запроса.

У меня также есть цикл, который разбивает полученные значения в массив String, но у меня тогда возникает проблема с обработкой int как строк. Могу ли я обойти это, используя какой-то трюк с sql-синтаксисом, или мне нужно получить информацию о том, какой тип данных у каждого значения?

А если мне нужно получить информацию о типах данных, как мне это сделать? (Предпочтительно SQL-запрос, который не возвращает ничего, кроме типов, поскольку я хочу использовать результат непосредственно в своем Java-коде).

1 Ответ

2 голосов
/ 02 февраля 2012

Во-первых, то, что я подозреваю, что вы делаете, является неправильным или, конечно, неоптимальным.

Предполагая, что вы были непреклонны, именно так вы хотите поступить, вам нужно извлечь строку из таблицы изатем вызовите getMetadata () для ResultSet.

В результате вы получите что-то вроде:

rs.getMetaData (). getColumnTypeName (int column)

Как только вы узнаететип столбца, вы можете соответственно анализировать / обрабатывать введенные пользователем данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...