看來golang的sqlite包不喜歡我的db.Query說法,雖然它和github上的例子中發(fā)現(xiàn)的完全一樣。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(),但無濟(jì)于事。
1 回答

富國滬深
TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊
您不能為未聲明的變量賦值。
rows, err = db.Query("select id, name from job")
應(yīng)該 :
rows, err := db.Query("select id, name from job")
理論上這應(yīng)該可以解決問題,但我還沒有嘗試過。
您還應(yīng)該添加:
rows.Scan(&id, &name)
在 printf 函數(shù)之前,以便實際將行的值分配給 id & name 變量,否則將打印一個空字符串 & 0。
- 1 回答
- 0 關(guān)注
- 245 瀏覽
添加回答
舉報
0/150
提交
取消