golang连接sqlserver数据库

先安装好Golang环境

MacBook Linux 树莓派raspberrypi安装Golang环境

package main

import (
    "database/sql"
    "flag"
    "fmt"
    "log"

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

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

func main() {
    flag.Parse()

    if *debug {
        fmt.Printf(" password:%s\n", *password)
        fmt.Printf(" port:%d\n", *port)
        fmt.Printf(" server:%s\n", *server)
        fmt.Printf(" user:%s\n", *user)
    }

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d", *server, *user, *password, *port)
    if *debug {
        fmt.Printf(" connString:%s\n", connString)
    }
    conn, err := sql.Open("mssql", connString)
    if err != nil {
        log.Fatal("Open connection failed:", err.Error())
    }
    defer conn.Close()

    stmt, err := conn.Prepare("select 1, 'abc'")
    if err != nil {
        log.Fatal("Prepare failed:", err.Error())
    }
    defer stmt.Close()

    row := stmt.QueryRow()
    var somenumber int64
    var somechars string
    err = row.Scan(&somenumber, &somechars)
    if err != nil {
        log.Fatal("Scan failed:", err.Error())
    }
    fmt.Printf("somenumber:%d\n", somenumber)
    fmt.Printf("somechars:%s\n", somechars)

    fmt.Printf("bye\n")
}

你可能感兴趣的:(gosqlserver)