Database 使用HDBC/Haskell将程序中的多个条目添加到SQLite3数据库
我正在尝试使用Database.HDBC和Database.HDBC.Sqlite3 要向SQLite3数据库添加表,我将在GHCI中输入以下命令: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
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