私はScala and Playフレームワークが初めてです。私は、データテーブルから選択した列のすべてのデータを照会し、Excelファイルとして保存しようとします。列は通常(ヌル「」空の文字列に変換)、私はすべての値の型を変換するなどのInt、筋力、タイムスタンプ、など、さまざまなタイプ、Anorm:暗黙の変換[すべての値(include null)]から[String]
を持って 文字列にnullを含める選択
知らず列の実際の型です。そのため、コードはどの表にも使用できます。
Playのドキュメントによれば、以下の暗黙のコンバータを記述できますが、これはnullを処理できません。これは長い間googled、解決策を見つけることができません。誰かが暗黙のコンバータでnullを処理する方法を教えてもらえますか?予め
おかげ〜
implicit def valueToString: anorm.Column[String] =
anorm.Column.nonNull1[String] { (value, meta) =>
val MetaDataItem(qualified, nullable, clazz) = meta
value match {
case s: String => Right(s) // Provided-default case
case i: Int => Right(i.toString()) // Int to String
case t: java.sql.Clob => Right(t.toString()) // Blob/Text to String
case d: java.sql.Timestamp => Right(d.toString()) // Datatime to String
case _ => Left(TypeDoesNotMatch(s"Cannot convert $value: ${value.asInstanceOf[AnyRef].getClass} to String for column $qualified"))
}
}
実行時にどのようなエラーが表示されますか? – tryx
エラーメッセージ:java.lang.RuntimeException:左(UnexpectedNullableFound(ColumnName(.valuea、Some(valuea)))) atorm.MayErr $$ anonfun $ get $ 1.apply(MayErr.scala:35) – WeiJ