Amit
Amit

Reputation: 34725

JDBC - How to set char in a prepared statement

I cannot find any method like

char c = 'c';

preparedStatement.setChar(1, c);

How to set character to a prepared statement?

Upvotes: 34

Views: 72089

Answers (3)

Edwin Dalorzo
Edwin Dalorzo

Reputation: 78579

The JDBC Specification 4.0 in Appendix B (Data Type Conversion Tables) states the following conversions:

This table also shows the conversions used by the SQLInput reader methods, except that they use only the recommended conversions.

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

TABLE B- 1  JDBC Types Mapped to Java Types

Therefore PreparedStatement.setString(1, String.valueOf(myChar)) should do the trick.

Upvotes: 65

Lakhan
Lakhan

Reputation: 1

PreparedStatement.setString(1,c+" ");

PreparedStatement.setString(1,String.valueOf(c));

Upvotes: 0

jzd
jzd

Reputation: 23629

Use setString() to set the variable.

To get it back use getString() and assuming it is not null do something like this to get the character:

getString("your_column").charAt(0);

Upvotes: 5

Related Questions