猿问

我们还应该关闭 Golang 中的 DB 的 .Prepare() 吗?

从本教程中rows.Closed()可以看出,必须调用 where rowsis from stmt.Query(),stmt.Closed()也应该调用 where stmtis from db.Prepare()?


// inside a function

stmt, err := db.Prepare(cmd) // cmd is SQL string

Check(err)

// should we add: defer stmt.Close()

rows, err := stmt.Query(params) // params is map/interface{}

defer rows.Close()

Check(err)


海绵宝宝撒
浏览 230回答 2
2回答

森栏

简短的回答是肯定的。你应该调用 stmt.Close();可以在此 google 群组线程中找到长答案。

鸿蒙传说

使用如下// inside a functionstmt, err := db.Prepare(cmd) // cmd is SQL stringif err != nil {    println(err.Error())}defer stmt.Close()rows, err := stmt.Query(params) // params is map/interface{}if err != nil {    println(err.Error())}
随时随地看视频慕课网APP

相关分类

Go
我要回答