dongyi1524 2018-08-11 11:05
浏览 95
已采纳

Go无法从MS SQL 2014读取最后一个nvarchar(max)值

I have the following query:

SELECT ... ,
    grade as [grade],
    grade as [grade2]
    FROM dbo.[qc_runs] r

    JOIN ...
WHERE ...

I send it to MS SQL Server 2014 from my Go code and want to get back data (I am using github.com/denisenkom/go-mssqldb driver). However, I can read first grade value (type nvarchar(max)), but second one arrives empty! These are the same table fields, just duplicated. If I delete first grade value from query and leave just one, it will still arrive empty! The column is described as following:

[grade] [nvarchar](max) NULL,

SQL Management Studio executes this query just fine, both grade values are not empty, but Go code doesn't!

UPDATE #1 Go code:

evaluations, err := db.Query("EXEC qa.dbo.sp_get_evaluation_list ?", uid)
if err != nil {
    if err == sql.ErrNoRows {
        return list, nil
    }
    return list, err
}

// Get column names
colNames, err := evaluations.Columns()
if err != nil {
    log.Logf("Failed to get columns: %v", err)
    return list, err
}

// Result is your slice string.
readCols := make([]interface{}, len(colNames))

// Read data
for evaluations.Next() {

    writeCols := make([]string, len(colNames))
    for i := range writeCols {
        readCols[i] = &writeCols[i]
    }

    evaluations.Scan(readCols...)

    for i := range writeCols {
        fmt.Println(colNames[i], ": ", writeCols[i])
    }
    ...
}

Output:

...
grade :  <some text from DB>
grade2 :  
  • 写回答

2条回答 默认 最新

  • duanmanmian7589 2018-08-11 16:45
    关注

    Problem solved, evaluations.Scan(readCols...) returned error err sql: Scan error on column index 3: unsupported Scan, storing driver.Value type <nil> into type *string, and left the rest of array blank

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)