JDBC – Как установить char в подготовленном выражении

Я не могу найти такой метод, как

символ с = 'с';

подготовленныйStatement.setChar(1, c);

Как установить символ в подготовленный оператор?


person Yatendra    schedule 16.04.2011    source источник
comment
почему бы не использовать setString?   -  person Nishant    schedule 16.04.2011
comment
Или, может быть, попробовать preparedStatement.setObject(1, c, java.sql.Types.CHAR) ?   -  person jCoder    schedule 16.04.2011


Ответы (3)


В Спецификации JDBC 4.0 в Приложении B (Таблицы преобразования типов данных) указано, что следующие преобразования:

В этой таблице также показаны преобразования, используемые методами чтения SQLInput, за исключением того, что они используют только рекомендуемые преобразования.

JDBC Type              Java Type
-------------------------------------------
CHAR                   String
VARCHAR                String
LONGVARCHAR            String
NUMERIC                java.math.BigDecimal
DECIMAL                java.math.BigDecimal
BIT                    boolean
BOOLEAN                boolean
TINYINT                byte
SMALLINT               short

ТАБЛИЦА B- 1 Типы JDBC, сопоставленные с типами Java

Поэтому PreparedStatement.setString(1, String.valueOf(myChar)) должен помочь.

person Edwin Dalorzo    schedule 16.04.2011
comment
вы имеете в виду PreparedStatement.setString(1, String.valueOf(myChar)) верно? - person Leo; 28.02.2018

Используйте setString() для установки переменной.

Чтобы вернуть его, используйте getString() и, если он не равен нулю, сделайте что-то вроде этого, чтобы получить символ:

getString("your_column").charAt(0);
person jzd    schedule 16.04.2011

person    schedule
comment
Хотя этот код может дать ответ на вопрос, предоставление дополнительного контекста относительно того, как и/или почему он решает проблему, улучшит долгосрочную ценность ответа. - person spongebob; 20.08.2015