Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.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 Haskell sqlite3代码_Database_Haskell_Sqlite - Fatal编程技术网

Database Haskell sqlite3代码

Database Haskell sqlite3代码,database,haskell,sqlite,Database,Haskell,Sqlite,我试图弄清楚如何为haskell使用sqlite模块。这是我的基本代码: import Database.SQLite firstTry str = do conn <- openConnection $ "/Users/frkkan96/Documents/src/umecore-hs/testdata/ume.umedb" statement <- return $ "select * from segments where label = :n ;"

我试图弄清楚如何为haskell使用sqlite模块。这是我的基本代码:

import Database.SQLite

firstTry str = do 
    conn <- openConnection $ "/Users/frkkan96/Documents/src/umecore-hs/testdata/ume.umedb"
    statement <- return $ "select * from segments where label = :n ;"
    b <- execParamStatement conn statement [(":n", Text "First words")]
    closeConnection conn
import Database.SQLite
firstTry str=do

conn问题在于
execParamStatement::SQLiteResult a=>SQLiteHandle->String->[(String,Value)]->IO(字符串[[Row a]])
的类型。这意味着调用者可以选择任何
a
,只要它是
SQLiteResult
的实例。但是,由于您实际上并没有对任何内容使用
b
,编译器只为其分配一个类型变量
a0


您需要通过实际使用
execParamStatement
的结果或使用
execParamStatement conn statement[(“:n”,Text“First words”)]::IO(字符串[[行值]])
来指定类型(很可能您希望
a

问题在于
execParamStatement::SQLiteResult a=>SQLiteHandle->String->[(String,Value)]->IO(字符串[[Row a]])
的类型。这意味着调用者可以选择任何
a
,只要它是
SQLiteResult
的实例。但是,由于您实际上并没有对任何内容使用
b
,编译器只为其分配一个类型变量
a0


您需要通过实际使用
execParamStatement
的结果或使用
execParamStatement conn statement[(“:n”,Text“First words”)]::IO(字符串[[行值]])
来指定类型(很可能您希望
a

问题在于
execParamStatement::SQLiteResult a=>SQLiteHandle->String->[(String,Value)]->IO(字符串[[Row a]])
的类型。这意味着调用者可以选择任何
a
,只要它是
SQLiteResult
的实例。但是,由于您实际上并没有对任何内容使用
b
,编译器只为其分配一个类型变量
a0


您需要通过实际使用
execParamStatement
的结果或使用
execParamStatement conn statement[(“:n”,Text“First words”)]::IO(字符串[[行值]])
来指定类型(很可能您希望
a

问题在于
execParamStatement::SQLiteResult a=>SQLiteHandle->String->[(String,Value)]->IO(字符串[[Row a]])
的类型。这意味着调用者可以选择任何
a
,只要它是
SQLiteResult
的实例。但是,由于您实际上并没有对任何内容使用
b
,编译器只为其分配一个类型变量
a0


您需要通过实际使用
execParamStatement
的结果或使用
execParamStatement conn statement[(“:n”,Text“First words”)]::IO(字符串[[行值]])
来指定类型(很可能您希望
a

谢谢!离开一段时间后,再次回到Haskell,我忘记了类型签名的价值,甚至(特别是)在设计用于计算某些东西如何工作的短小代码中。谢谢!离开一段时间后,再次回到Haskell,我忘记了类型签名的价值,甚至(特别是)在设计用于计算某些东西如何工作的短小代码中。谢谢!离开一段时间后,再次回到Haskell,我忘记了类型签名的价值,甚至(特别是)在设计用于计算某些东西如何工作的短小代码中。谢谢!过了一段时间,回到Haskell,我忘记了类型签名的价值,甚至(特别是)在设计用于计算某个东西如何工作的短小代码中。
sqlitetest.hs:6:9:
    No instance for (SQLiteResult a0)
      arising from a use of `execParamStatement'
    In a stmt of a 'do' block:
      execParamStatement conn statement [(":n", Text "First words")]
    In the expression:
      do { conn <- openConnection
                   $ "/Users/frkkan96/Documents/src/umecore-hs/testdata/ume.umedb";
           statement <- return $ "select * from segments where label = :n ;";
           execParamStatement conn statement [(":n", Text "First words")];
           closeConnection conn }
    In an equation for `firstTry':
        firstTry str
          = do { conn <- openConnection
                         $ "/Users/frkkan96/Documents/src/umecore-hs/testdata/ume.umedb";
                 statement <- return $ "select * from segments where label = :n ;";
                 execParamStatement conn statement [(":n", Text "First words")];
                 .... }