aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2014-11-16 23:51:46 +0900
committermattn <mattn.jp@gmail.com>2014-11-16 23:51:46 +0900
commitd10e2c8f62100097910367dee90a9bd89d426a44 (patch)
tree65e4fce4430ee61f3e6c5e6d6bc59bb65000afd5
parentUpdate README.md (diff)
downloadgolite-d10e2c8f62100097910367dee90a9bd89d426a44.tar.gz
golite-d10e2c8f62100097910367dee90a9bd89d426a44.tar.xz
Reset statement. Fixes #150
-rw-r--r--sqlite3.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/sqlite3.go b/sqlite3.go
index de1cc16..d446fb6 100644
--- a/sqlite3.go
+++ b/sqlite3.go
@@ -430,10 +430,12 @@ func (r *SQLiteResult) RowsAffected() (int64, error) {
// Execute the statement with arguments. Return result object.
func (s *SQLiteStmt) Exec(args []driver.Value) (driver.Result, error) {
if err := s.bind(args); err != nil {
+ C.sqlite3_reset(s.s)
return nil, err
}
rv := C.sqlite3_step(s.s)
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
+ C.sqlite3_reset(s.s)
return nil, s.c.lastError()
}