繁体   English   中英

golang sqlite无法定义查询变量

[英]golang sqlite can't define Query variable

看起来golang的sqlite软件包不喜欢我的db.Query语句,尽管它完全类似于github上的示例中找到的那个

db, err := sql.Open("sqlite3", "./database.db")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

rows, err = db.Query("select id, name from job")
if err != nil {
    log.Fatal(err)
}   
defer rows.Close()

fmt.Println("Jobs:")
for rows.Next() {
    var name string
    var id int
    fmt.Printf("%v %v\n", id, name)
}  

这是我得到的错误:

./test.go:7: undefined: rows
./test.go:7: cannot assign to rows
./test.go:11: undefined: rows
./test.go:14: undefined: rows

编辑:我尝试过使用重音符和单引号字符串为db.Query() ,也无济于事。

您不能将值分配给未声明的变量。

rows, err = db.Query("select id, name from job")

应该 :

rows, err := db.Query("select id, name from job")

从理论上讲,这应该可以解决问题,但是我还没有尝试过。

您还应该添加:

rows.Scan(&id, &name)

在将函数的值实际分配给id和name变量之前,在printf函数之前,将打印一个空字符串&0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM