Ошибка преобразования типа данных datetimeoffset в datetime

Сейчас я работаю над API RestFul, но моя функция Вставить не работает, мой статус результата кода нулевой, мой результат ошибки mssql: Ошибка преобразования типа данных datetimeoffset в datetime и EXEC SMSBlast2Procedure '087871723282', 'adsbjkadhdhad', '0001-01-01 00:00:00', '0001-01-01 00:00:00', '' . и как преобразовать тип данных datetimeoffset в datetime?

package main

import (
    "encoding/json"
    "fmt"
    "github.com/gorilla/mux"
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mssql"
    "log"
    "net/http"
    "strconv"
    "time"
)

type SMSBlast struct {
    SequenceID     int       `gorm:"column:SequenceID;PRIMARY_KEY"`
    MobilePhone    string    `gorm:"column:MobilePhone"`
    Output         string    `gorm:"column:Output"`
    Status         string    `gorm:"column:Status"`
    WillBeSentDate time.Time `gorm:"column:WillBeSentDate"`
    SentDate       time.Time `gorm:"column:SentDate"`
    DtmUpd         time.Time `gorm:"column:DtmUpd"`
}

func (SMSBlast) TableName() string {
    return "SMSBlast2"
}

func insertSMSBlast(w http.ResponseWriter, r *http.Request) {
    fmt.Println("New Insert Created")

    db, err := gorm.Open("mssql", "sqlserver://sa:@localhost:1433?database=CONFINS")
    if err != nil {
        panic("failed to connect database")
    }
    defer db.Close()


    var smsblats SMSBlast

    json.NewDecoder(r.Body).Decode(&smsblats)
    fmt.Println(r.Body)
    fmt.Println(smsblats)
    db.Debug().Raw("EXEC SMSBlast2Procedure ?, ?, ?, ? , ?",
        smsblats.MobilePhone,
        smsblats.Output,
        smsblats.WillBeSentDate,
        smsblats.SentDate,
        smsblats.Status).Scan(smsblats)
    w.Header().Set("Content-Type", "application/json")
    w.Header().Set("Response-Code", "00")
    w.Header().Set("Response-Desc", "Success")
    json.NewEncoder(w).Encode(smsblats)

}

func handleRequests() {
    myRouter := mux.NewRouter().StrictSlash(true)
    myRouter.HandleFunc("/smsblaststestInsert", insertSMSBlast).Methods("POST")
    log.Fatal(http.ListenAndServe(":8080", myRouter))

}

func main() {
    fmt.Println("SMSBLASTS ORM")
    handleRequests()
}

0 ответов

Другие вопросы по тегам