xorm icon indicating copy to clipboard operation
xorm copied to clipboard

session.QueryRows中方法查询失败后,未检查返回的core.Rows是否为nil,直接rows.close,导致panic

Open GitHubScience opened this issue 5 years ago • 2 comments

session.queryRows方法查询失败后,未检查返回的core.Rows是否为nil,直接rows.close,导致panic,致使不能正常返回预期的错误信息 image

GitHubScience avatar Nov 21 '20 10:11 GitHubScience

能否提供以下你的具体调用代码和数据样例,谢谢

xormplus avatar Nov 22 '20 11:11 xormplus

代码示例如下: func TestQueryRows(t *testing.T) { db, err := xorm.NewEngine("mysql", "") session := db.NewSession() var sqlOrArgs []interface{} sqlOrArgs = append(sqlOrArgs," select * from user where id = ?",1)

//调用代码后,错误信息没有返回,内部发生 panic
rows, err := session.QueryRows(sqlOrArgs...)
if err != nil {
	fmt.Println("err : ",err)
	return
}
defer rows.Close()

} image image

GitHubScience avatar Nov 23 '20 06:11 GitHubScience