看来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(),但无济于事。
1 回答
富国沪深
TA贡献1790条经验 获得超9个赞
您不能为未声明的变量赋值。
rows, err = db.Query("select id, name from job")
应该 :
rows, err := db.Query("select id, name from job")
理论上这应该可以解决问题,但我还没有尝试过。
您还应该添加:
rows.Scan(&id, &name)
在 printf 函数之前,以便实际将行的值分配给 id & name 变量,否则将打印一个空字符串 & 0。
- 1 回答
- 0 关注
- 221 浏览
添加回答
举报
0/150
提交
取消