2

私はここ数日Haskellと仕事をしています。HaskellとSnapを使用して小さなWebアプリを作成しました。ユーザーデータを取得するためのHTMLフォームを追加し、Haskellを使用してmysqlデータベースを構成しました。Haskellを使ってデータを取得できます。ユーザー入力をデータベースに挿入する方法を知りたいです。

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

以下は、Webアプリケーションでデータベース接続を確立した方法です。ここで、これら2つの関数を接続したいのですが、内echoでsqlExeを使用できないため、データをデータベースに挿入するにはどうすればよいですか。ここで欠けている点は??

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" []

誰かが私がこの問題から抜け出すのを手伝ってくれるなら、私は本当に感謝しています。

4

1 に答える 1

5

アプリケーションはMonadIOのインスタンスであるため、echo内から次のようにsqlExeを呼び出すことができます。

結果<-liftIOsqlExe

于 2011-04-26T03:48:01.447 に答える