gorm连接mssql

go.mod

require (
    github.com/denisenkom/go-mssqldb v0.0.0-20200620013148-b91950f658ec
    github.com/jinzhu/gorm v1.9.14
)
package main

import (
    "flag"
    "fmt"

    _ "github.com/denisenkom/go-mssqldb"
    "github.com/jinzhu/gorm"
)

type Dt_Cardtype struct {
    gorm.Model
    ID        string `gorm:"id"`
    CardCname string `gorm:"CardCname"`
}

var (
    debug         = flag.Bool("debug", true, "enable debugging")
    password      = flag.String("password", "Elink666.", "the database password")
    port     *int = flag.Int("port", 1433, "the database port")
    server        = flag.String("server", "172.16.183.131", "the database server")
    user          = flag.String("user", "sa", "the database user")
)

func main() {
    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=carpark", *server, *user, *password, *port)
    db, err := gorm.Open("mssql", connString)
    if err != nil {
        panic("连接数据库失败")
    }
    defer db.Close()

    db.SingularTable(true)
    db.LogMode(true)
    db.CommonDB()

    var dc []Dt_Cardtype
    db.Find(&dc)

    fmt.Println(len(dc))
    // // 自动迁移模式
    // db.AutoMigrate(&Product{})

    // // 创建
    // db.Create(&Product{Code: "L1212", Price: 1000})

    // // 读取
    // var product Product
    // db.First(&product, 1)                   // 查询id为1的product
    // db.First(&product, "code = ?", "L1212") // 查询code为l1212的product

    // // 更新 - 更新product的price为2000
    // db.Model(&product).Update("Price", 2000)

    // // 删除 - 删除product
    // db.Delete(&product)
}