driver-go icon indicating copy to clipboard operation
driver-go copied to clipboard

当 rows.Next(values),没有查询到数据时,程序会阻塞

Open zhoujinlong opened this issue 3 years ago • 0 comments

conn, err := af.Open(config.Host, config.User, config.Pwd, config.DbName, config.Port) if err != nil { logx.Error(err) return nil, err } defer conn.Close()

rows, err := conn.Query(queryStr)
if err != nil {
	logx.Error(err)
	return nil, err
}
defer rows.Close()

columns := rows.Columns()
logx.Info("columns:", columns)
values := make([]driver.Value, len(columns))
// fmt.Println("rows:",rows.Next(values))
// **没有查询到数据时,程序阻塞了**
if err := rows.Next(values); err != nil {		
	logx.Info("err:", err)		
	return nil, err
}

row := make(map[string]interface{})
for k, v := range columns {
	row[v] = values[k]
}
logx.Info("rowData:", row)
return row, nil

zhoujinlong avatar Dec 05 '22 10:12 zhoujinlong