web-dev-qa-db-ja.com

JDBC-プリペアドステートメントでcharを設定する方法

のような方法が見つかりません

char c = 'c';

preparedStatement.setChar(1、c);

準備済みステートメントに文字を設定する方法は?

27
Yatendra Goel

付録B(データ型変換テーブル)の JDBC Specification 4. には、次の変換が記載されています。

この表は、推奨される変換のみを使用することを除いて、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 =Java TypesにマッピングされたJDBCタイプ

したがって、PreparedStatement.setString(1, String.valueOf(myChar))がトリックを行う必要があります。

52
Edwin Dalorzo

SetString()を使用して変数を設定します。

それを取り戻すには、getString()を使用し、それがnullでないと仮定して、このような何かをして文字を取得します。

getString("your_column").charAt(0);
4
jzd
PreparedStatement.setString(1,c+" ");

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