为了账号安全,请及时绑定邮箱和手机立即绑定

go-mssql 出现“无效内存地址”错误

go-mssql 出现“无效内存地址”错误

Go
繁星点点滴滴 2021-10-18 11:09:32
我遇到了一个似乎无法解决的问题,可能是因为我对 GO 缺乏经验。我有以下代码在一台服务器上工作,但不在另一台服务器上。这是代码:// Build out the connection string to the database, and then open the connection to the database.connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d", *server, *user, *password, *port)if *debug { fmt.Printf(" connString:%s\n", connString) }db, err = sql.Open("mssql", connString)if err != nil { log.Fatal("Open connection failed:", err.Error()) }err = db.Ping()if err != nil {    fmt.Println("Cannot connect: ", err.Error())    return}rows, _ := db.Query( "SELECT Zip FROM Zip_Rural WHERE Zip = ?", ZipCode[0:5] )defer rows.Close()if !rows.Next() {    acreageRequirement = .5}在读取的行上,if !rows.Next()我收到以下错误:panic: runtime error: invalid memory address or nil pointer dereferencepanic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x20 pc=0x477918]同样的代码在另一台服务器上运行得很好,在两台机器上运行 GO 1.4.2 版。我有一种感觉,我只是在这里某处有一些不好的语法,但不知道真正的问题是什么。db.Exec在同一个文件中调用工作正常,这让我相信我的数据库连接非常好,但由于某种原因db.Query没有正确执行。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信