我有我的Haskell代码使用的SQL查询:
let name = "A 20"
let qry_head_WDS = "select DNUM from WDS where DISC = ?" :: Query
putStrLn "before query WDS"
bd_rows_WDS <- query conn qry_head_WDS (Only (name::String))
putStrLn "after query WDS"
forM_ bd_rows_WDS $ \(Only a) ->
putStrLn $ Text.unpack a
如果数据库中没有NULL值,但效果很好 对于N°BD字段,我在运行时遇到了此异常:
before query WDS
*** Exception: UnexpectedNull {errSQLType = "String", errHaskellType =
"Text", errFieldName = "DNUM", errMessage = "unexpected null in table
WDS of database sidonie"}
*Main>
您能帮我处理 场N°BD
答案 0 :(得分:1)
此解决方案首先来自Haskell-cafe邮件列表:
forM_ bd_rows_WDS $ \(Only x) ->
case x of
Nothing -> putStrLn ("x =" ++ "NULL")
Just x -> putStrLn ("x =" ++ Text.unpack x)