diff --git a/simplest-sqlite.cabal b/simplest-sqlite.cabal
--- a/simplest-sqlite.cabal
+++ b/simplest-sqlite.cabal
@@ -2,7 +2,7 @@
 cabal-version: >= 1.8
 
 name: simplest-sqlite
-version: 0.0.0.7
+version: 0.0.0.8
 stability: Experimental
 author: YoshikuniJujo <PAF01143@nifty.ne.jp>
 maintainer: YoshikuniJujo <PAF01143@nifty.ne.jp>
@@ -23,13 +23,13 @@
 source-repository this
     type: git
     location: git://github.com/YoshikuniJujo/test_haskell
-    tag: simplest-sqlite-0.0.0.7
+    tag: simplest-sqlite-0.0.0.8
 
 library
     hs-source-dirs: src
     exposed-modules: Database.SmplstSQLite3
     other-modules: Database.SmplstSQLite3.Constants
-    build-depends: base == 4.*, bytestring == 0.10.*, text == 1.1.*
+    build-depends: base == 4.*, bytestring == 0.10.*, text >= 1.1 && < 1.3
     ghc-options: -Wall
     extra-libraries: sqlite3
     extensions: ForeignFunctionInterface
diff --git a/src/Database/SmplstSQLite3.hs b/src/Database/SmplstSQLite3.hs
--- a/src/Database/SmplstSQLite3.hs
+++ b/src/Database/SmplstSQLite3.hs
@@ -103,6 +103,8 @@
 	c_sqlite3_column_int :: Ptr Stmt -> CInt -> IO CInt
 foreign import ccall unsafe "sqlite3.h sqlite3_column_text"
 	c_sqlite3_column_text :: Ptr Stmt -> CInt -> IO CString
+foreign import ccall unsafe "sqlite3.h sqlite3_column_blob"
+	c_sqlite3_column_blob :: Ptr Stmt -> CInt -> IO CString
 
 class SQLiteDataList a where
 	bindNList :: Stmt -> Int -> [a] -> IO ()
@@ -126,12 +128,10 @@
 	columnList (Stmt sm) i =
 		peekCString =<< c_sqlite3_column_text sm (fromIntegral i)
 
-{-
 instance SQLiteData BS.ByteString where
-	bindN = sqlite3BindByteString
+	bindN = sqlite3BindBlob
 	column (Stmt sm) i =
-		BS.packCString =<< c_sqlite3_column_text sm (fromIntegral i)
-		-}
+		BS.packCString =<< c_sqlite3_column_blob sm (fromIntegral i)
 
 instance SQLiteData T.Text where
 	bindN sm i = sqlite3BindByteString sm i . T.encodeUtf8
@@ -141,7 +141,9 @@
 foreign import ccall unsafe "sqlite3.h sqlite3_bind_int" c_sqlite3_bind_int ::
 	Ptr Stmt -> CInt -> CInt -> IO CInt
 foreign import ccall unsafe "sqlite3.h sqlite3_bind_text" c_sqlite3_bind_text ::
-	Ptr Stmt -> CInt -> CString -> Int -> Ptr a -> IO CInt
+	Ptr Stmt -> CInt -> CString -> CInt -> Ptr a -> IO CInt
+foreign import ccall unsafe "sqlite3.h sqlite3_bind_blob" c_sqlite3_bind_blob ::
+	Ptr Stmt -> CInt -> CString -> CInt -> Ptr a -> IO CInt
 
 bind :: SQLiteData a => Stmt -> String -> a -> IO ()
 bind sm ph x = flip (bindN sm) x =<< sqlite3BindParameterIndex sm ph
@@ -161,6 +163,12 @@
 sqlite3BindByteString :: Stmt -> Int -> BS.ByteString -> IO ()
 sqlite3BindByteString (Stmt sm) i s = BS.useAsCString s $ \cs -> do
 	ret <- c_sqlite3_bind_text sm (fromIntegral i) cs (- 1) nullPtr
+	when (ret /= sQLITE_OK) . ioError . userError $
+		"Cannot bind text: error code (" ++ show ret ++ ")"
+
+sqlite3BindBlob :: Stmt -> Int -> BS.ByteString -> IO ()
+sqlite3BindBlob (Stmt sm) i s = BS.useAsCString s $ \cs -> do
+	ret <- c_sqlite3_bind_blob sm (fromIntegral i) cs (- 1) nullPtr
 	when (ret /= sQLITE_OK) . ioError . userError $
 		"Cannot bind text: error code (" ++ show ret ++ ")"
 
