2011-04-26 97 views
2

在过去的几天里,我一直在使用Haskell。我使用Haskell和Snap创建了一个小型Web应用程序。我添加了一个HTML表单来获取用户数据,并使用Haskell配置了一个MySQL数据库。我可以使用Haskell检索数据。我想知道如何将用户输入插入到数据库中。Snap Web应用程序连接MySQL

echo :: Application() 
echo = do  
    firstName <- decodedParam "firstname" 
    heistLocal (bindSplices echoSplices) $ render "echo" 
    where 
    decodedParam p = fromMaybe "" <$> getParam p  

以下是我在Web应用程序中进行数据库连接的方式。现在我想连接这两个函数,但是我不能在echo内使用sqlExe,所以如何将数据插入到db中。这里缺少什么?

sqlExe :: IO [[SqlValue]] 
sqlExe = 
    do conn <- connectMySQL defaultMySQLConnectInfo { 
        mysqlHost = "localhost", 
        mysqlDatabase = "test", 
        mysqlUser = "root", 
        mysqlPassword = "password", 
        mysqlUnixSocket = "/var/lib/mysql/mysql.sock" }    
    quickQuery conn "select* from Test" [] 

我真的很感激,如果有人能帮我解决这个问题。

回答

5

应用是MonadIO的一个实例,这样你就可以从内回声这样叫sqlExe:

结果< - liftIO sqlExe

+0

thanxxx!这工作! – 123Ex 2011-04-26 07:20:18

相关问题