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 は、何も出力しないリスト内包表記を好まないのではないでしょうか?
ヘルプや提案をいただければ幸いです。