0
我想从我的postgresql数据库使用golang.print我有多个列打印多行我试图构建代码去生成错误“rows.Columns未定义(类型* sql.Row没有字段或方法列)”
package main
import (
"database/sql"
"fmt"
"github.com/gin-gonic/gin"
_ "github.com/lib/pq"
"log"
"runtime"
)
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
db, err := sql.Open("postgres", "dbname=sample_data user=postgres password=postgres sslmode=disable")
defer db.Close()
if err != nil {
fmt.Println("error connecting to DB")
}
r := gin.Default()
r.GET("/cin_display", func(c *gin.Context) {
rows := db.QueryRow("SELECT cin FROM companies limit 1;")
columns, _ := rows.Columns()
count := len(columns)
values := make([]interface{}, count)
valuePtrs := make([]interface{}, count)
for rows.Next() {
for i, _ := range columns {
valuePtrs[i] = &values[i]
}
rows.Scan(valuePtrs...)
for i, col := range columns {
var v interface{}
val := values[i]
b, ok := val.([]byte)
if ok {
v = string(b)
} else {
v = val
}
fmt.Println(col, v)
}
}
})
}
func Connect(connectionString string) *sql.DB {
db, err := sql.Open("postgres", connectionString)
if err != nil {
log.Fatal(err)
}
return db
}
我得到的错误rows.Columns未定义(类型* sql.Row没有字段或方法列)和rows.Next未定义(类型* sql.Row没有字段或方法下一步)。任何人都有一个例子代码,我可以看看?