2011-04-26 61 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

相關問題