1

使用下面的代码,我在参数数量上得到一个错误,尽管文档说它应该是这样的:

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]它工作正常。

知道我做错了什么吗?

4

1 回答 1

0

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

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

于 2018-11-15T11:07:17.677 回答