我正在尝试使用 Database.HDBC 和 Database.HDBC.Sqlite3。
要将表添加到 SQLite3 数据库,这是我在 GHCI 中输入的命令类型:
run conn "CREATE TABLE table1 (a INTEGER)" []
我现在想使用字符串列表从我的程序中将表名添加到数据库中。
这是我正在使用的变量:
tables = ["CREATE TABLE t1 (a INTEGER)","CREATE TABLE t2 (a INTEGER)",..]
表被传递给我创建的名为 addTables 的函数:
addTables xs = [ run conn x [] | x <- xs ]
但我的 addTables 函数返回此错误:
<interactive>:199:1:
No instance for (Show (IO Integer))
arising from a use of `print'
Possible fix: add an instance declaration for (Show (IO Integer))
In a stmt of an interactive GHCi command: print it
我怀疑 Haskell 不喜欢不打印任何内容的列表推导?
任何帮助或建议将不胜感激。