初级会员
  • 第 57843 位会员
  • fw325
  • 2020-11-09 08:35:54
  • Offline
  • 19 86

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 经过2天学习,尝试,百度,终于解决了!使用下面的函数,就可以直接输出map了,就可以通过json输出 rows := Selects("SELECT ue_id,ue_account,ue_yqm,zhxm FROM ans_ansmm") fmt.Println(rows) b, err := json.Marshal(rows) if err != nil { fmt.Println("json err:", err) } fmt.Fprintf(w, "%v", string(b)) //这个写入到w的是输出到客户端的 func Selects(sql string) map[int]map[string]string { // 查询数据 //查询数据,取所有字段 rows2, _ := db.Query(sql) //返回所有列 cols, _ := rows2.Columns() //这里表示一行所有列的值,用[]byte表示 vals := make([][]byte, len(cols)) //这里表示一行填充数据 scans := make([]interface{}, len(cols)) //这里scans引用vals,把数据填充到[]byte里 for k, _ := range vals { scans[k] = &vals[k] } i := 0 result := make(map[int]map[string]string) for rows2.Next() { //填充数据 rows2.Scan(scans...) //每行数据 row := make(map[string]string) //把vals中的数据复制到row中 for k, v := range vals { key := cols[k] fmt.Printf(string(v)) //这里把[]byte数据转成string row[key] = string(v) } //放入结果集 result[i] = row i++ } //fmt.Println(result) for k, v := range result { fmt.Printf("第%d行", k) fmt.Println(v["ue_id"] + "===>" + v["ue_account"] + "===>" + v["zhxm"]) } return result }