packages feed

hsSqlite3-0.0.5.20081031: src/Examples/hs_sqlite3_test.hs

-- Not yet updated, and so should
-- not be built (yet).

import Data.Char
import Database.Sqlite3 (Val (IntV,TextV))
import qualified Database.Sqlite3 as S
import qualified Data.ByteString as B

import Control.Monad.Trans
import Control.Monad.Error
import Control.Monad.State.Lazy
import Data.State

instance LocalState a a where
 getState = id
 putState a _ = a

main = do
  x <- (`runStateT` (zeroState :: S.StateDb)) $ do
    S.open "db"
    tab :: [[Val]] <- S.fetch "SELECT * FROM test_tab"
    S.bind "INSERT INTO test_tab VALUES (?,?,?)" $
       replicate 4
        [IntV 5,TextV "B test",TextV "test C test"]
    S.close
    return tab
  putStr $ "end"++ show x ++"\n"