Haskell SQLite-用户生成的简单查询

时间:2018-11-15 10:47:43

标签: database sqlite haskell

在下面的代码中,我得到了关于参数数量的错误,尽管文档说应该如此:

extractData :: IO ()
extractData = do
  userToolIDSelect <- getLine
  connection <- open "tools.db"
  resp <- query_ connection "SELECT * FROM tools WHERE toolID = (?)" (Only userToolIDSelect) :: IO [Tool]
  mapM_ print resp

但是,如果我将代码修改为具有固定ID参数,例如: resp <- query_ connection "SELECT * FROM tools WHERE toolID = 1;" :: IO [Tool]正常。

知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

query_函数不执行替换。将其替换为query函数,它应该可以工作。

相关文档:https://www.stackage.org/haddock/lts-12.18/sqlite-simple-0.4.16.0/Database-SQLite-Simple.html#v:query_