Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用HDBC/Haskell将程序中的多个条目添加到SQLite3数据库_Database_Haskell_Sqlite_Hdbc - Fatal编程技术网

Database 使用HDBC/Haskell将程序中的多个条目添加到SQLite3数据库

Database 使用HDBC/Haskell将程序中的多个条目添加到SQLite3数据库,database,haskell,sqlite,hdbc,Database,Haskell,Sqlite,Hdbc,我正在尝试使用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)",..] 表被传递给我创建的名为addTa

我正在尝试使用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 xs=[run conn x[]|x否,问题是无法打印
IO
操作。请参阅,您只构建了操作列表,而没有运行它们

请尝试以下方法:

addTables xs = sequence [run conn x [] | x <- xs]

如果您不关心结果,
mapM\uuu
的效率稍高一些。

看起来我应该花更多时间研究map函数。我一直在尝试使用列表理解来完成所有工作。感谢您的时间和帮助。
addTables xs = sequence [run conn x [] | x <- xs]
addTables xs = mapM (\x -> run conn x []) xs