Closed winston-ke closed 11 months ago
go/src/database/sql/sql.go #3010行在rs.lasterr != io.EOF情况下返回fasle, 从而跳出rows.Next()循环,但实际数据没有读全,应该在
for rows.Next() { err = rows.Scan(values...) if nil != err { return nil, err } mp := make(map[string]interface{}) for idx, name := range columns { //mp[name] = reflect.ValueOf(values[idx]).Elem().Interface() mp[name] = (values[idx].(interface{})) } result = append(result, mp) } err := rows.Err() if err != nil { // 应该在循环后检查err 并返回 return nil ,err }
go/src/database/sql/sql.go #3010行在rs.lasterr != io.EOF情况下返回fasle, 从而跳出rows.Next()循环,但实际数据没有读全,应该在
for rows.Next() { err = rows.Scan(values...) if nil != err { return nil, err } mp := make(map[string]interface{}) for idx, name := range columns { //mp[name] = reflect.ValueOf(values[idx]).Elem().Interface() mp[name] = (values[idx].(interface{})) } result = append(result, mp) } err := rows.Err() if err != nil { // 应该在循环后检查err 并返回 return nil ,err }