Golang database/sql.Stmt type examples

package database/sql

Stmt is a prepared statement. Stmt is safe for concurrent use by multiple goroutines.

Golang database/sql.Stmt type usage examples

Example 1:

 func closeResources(rows *sql.Rows, stmt *sql.Stmt) error {
  var err error
  if rows != nil {
 err = rows.Close()
 if err != nil {
 return err
 }
  }
  if stmt != nil { // <--- here
 err = stmt.Close()  
 if err != nil {
 return err
 }
  }
  return nil
 }

Example 2:

 var (
  SELECT_BIC = "SELECT bic FROM BANK_DATA WHERE bankcode = ? AND country = ?;"
  SELECT_BIC_STMT  *sql.Stmt
 )

 func prepareSelectBicStatement(db *sql.DB) {
  var err error
  SELECT_BIC_STMT, err = db.Prepare(SELECT_BIC)
  if err != nil {
 panic("Couldn't prepare statement: " + SELECT_BIC)
  }
 }

References :

https://github.com/fourcube/goiban/blob/master/external_data.go

http://golang.org/pkg/database/sql/#Stmt

Advertisement