почему после подключения к серверу sql с библиотекой golang go-mssqldb они печатают <nil>? - PullRequest
0 голосов
/ 11 февраля 2019

У меня проблема, после подключения к серверу sql они печатают <nil>, что не так с моим кодом или проблема с подключением к серверу sql, потому что они просто печатают <nil>?

ошибка может увидетьздесь введите описание изображения здесь

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/denisenkom/go-mssqldb"
    "github.com/gin-gonic/gin"
    "net/http"
)

func main()  {
    db, err :=  sql.Open("sqlserver","sqlserver://sa:@localhost:1433?database=CONFINS&connection+timeout=30")
    if err != nil{
        fmt.Print(err.Error())
    }


    err = db.Ping()

    if err != nil {
        fmt.Print(err.Error())
    }
    defer db.Close()

    type SMSBlast struct {
        SequenceID  string
        MobilePhone string
        Output  string
        WillBeSentDate string
        SentDate string
        Status string
        DtmUpd string
    }

    router := gin.Default()

    //Get a SMSBlast  detail
    router.GET("/SMSBlast2/:SequenceID", func(context *gin.Context) {
        var(
            smsblast SMSBlast
            result gin.H
        )

        SequenceID := context.Param("SequenceID")
        fmt.Println(db.Ping())
        row := db.QueryRow("select SequenceID, MobilePhone, Output, WillBeSentDate, SentDate, Status, DtmUpd from SMSBlast2 = ?;",SequenceID)
        err = row.Scan(&smsblast.SequenceID, &smsblast.MobilePhone, &smsblast.Output, &smsblast.WillBeSentDate, &smsblast.SentDate, &smsblast.Status, &smsblast.DtmUpd)
        if err != nil{
            //if no results send null
            result = gin.H{
                "result": nil,
                "count":  0,
            }
            }else{
                result = gin.H{
                    "result" : smsblast,
                    "count" : 1,
                }
            }

        context.JSON(http.StatusOK, result)
    })
    router.Run(":8080")

}

1 Ответ

0 голосов
/ 11 февраля 2019
    fmt.Println(db.Ping())

Печатает ошибку, возвращаемую db.Ping(), которая обычно равна nil.

...