sargas
sargas

Reputation: 6180

How to get the count value from a go-sqlite3 query?

I am using go-sqlite3 to retrieve the number of rows with a column of a certain value:

query := "select count(notebook) from pages where notebook="
result, err := db.Query(fmt.Sprint(query, id))

Where id is passed to the function running the query.

How can I retrieve the count value from result?

Upvotes: 2

Views: 3258

Answers (1)

Mike
Mike

Reputation: 3940

This should work:

// Output will be stored here.
var output string

id := "1234"

 // Prepare your query
query, err := db.Prepare("select count(notebook) from pages where notebook = ?")

if err != nil {
    fmt.Printf("%s", err)
}

defer query.Close()

// Execute query using 'id' and place value into 'output'
err = query.QueryRow(id).Scan(&output)

// Catch errors
switch {
case err == sql.ErrNoRows:
        fmt.Printf("No notebook with that ID.")
case err != nil:
        fmt.Printf("%s", err)
default:
        fmt.Printf("Counted %s notebooks\n", output)
}

Upvotes: 4

Related Questions