chai
chai copied to clipboard
Scan: unsupported type reflect.Value. parameter is not a valid reference
What version of Chai are you using?
github.com/chaisql/chai v0.16.0
What did you do?
package main
// import chai as a blank import import ( "database/sql" "log"
"github.com/chaisql/chai/driver"
)
type User struct { Id int Name string Age int }
func main() {
// Create a sql/database DB instance
db, err := sql.Open("chai", "mydb")
if err != nil {
log.Fatal(err)
}
defer db.Close()
if _, err = db.Exec(`
CREATE TABLE user ( id int, name TEXT , age int ) `); err != nil { log.Println("exec.create :", err) }
if _, err = db.Exec(`INSERT INTO user (id, name, age) VALUES (?, ?, ?)`, 20, "foo", 40); err != nil {
log.Println("exec.INSERT :", err)
}
if row := db.QueryRow("SELECT id, name, age, address FROM user WHERE age >= ?", 18); row != nil {
var u User
if err = row.Scan(driver.Scanner(&u)); err == nil {
log.Println("u:", u)
} else {
log.Println("Scan:", err)
}
}
}
What did you expect to see?
read out data in db into user
What did you see instead?
2024/03/13 20:25:03 Scan: unsupported type reflect.Value. parameter is not a valid reference