Ошибка преобразования типа данных 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()
}