2
我的主要功能打開一個數據庫連接:參考函數內部的開放數據庫連接 - Golang
func main() {
db, err := sql.Open("sqlite3", "./house.db")
checkErr(err)
...
}
然後,我想創建一個可以讓我去行添加到基於一個數據庫通過結構:
func addRow(row Room) error {
stmt, err := db.Prepare("INSERT INTO Rooms (Name, Size, WindowCount, WallDecorationType, Floor) VALUES(?, ?, ?, ?, ?)")
_, err = stmt.Exec(row.Name , row.Size , row.WindowCount , row.WallDecorationType , row.Floor)
return err
}
但很明顯,我不能這樣做,因爲addRow()
函數不知道什麼db
是。
我該如何讓這個功能起作用?或許,我應該在主函數之外打開數據庫嗎?
你不能在參數中傳遞'db'嗎? –
使用全局'db'或將其作爲參數傳遞。 – JimB
相關/可能的重複[如何處理在Go應用程序中打開/關閉Db連接?](http://stackoverflow.com/questions/40587008/how-do-i-handle-opening-closing-db-connection -in-a-go-app/40587071#40587071) – icza