go 连接sqlserver 调用存储过程

func (u *UserController) Get() {
   db, _ := GetDB()
   defer db.Close()

    var m1="json"
    sql := fmt.Sprintf("SELECT dbo.fn_ChineseToSpell('%s') name;", m1)

    row,err := db.Query(sql)
    if err != nil{
      //fmt.Println(3333)
       fmt.Println(err)
   }else{
      //获取结果集
      var NickName string
      for row.Next() {
         row.Scan(&NickName)
      }

      fmt.Println(NickName)


   }
   //defer db.Close()


}

var debug = flag.Bool("debug", false, "enable debugging")
var password = flag.String("password",beego.AppConfig.String("password") , "the database password")
var port *int = flag.Int("port", 1433, "the database port")
var server = flag.String("server", beego.AppConfig.String("yr_host"), "the database server")
var user = flag.String("user", beego.AppConfig.String("user"), "the database user")
var database  = flag.String("database", beego.AppConfig.String("name"), "the database name")
func GetDB() (*sql.DB, error){
   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;database=%s;user id=%s;password=%s;port=%d;encrypt=disable", *server, *database, *user, *password, *port)
   if *debug {
      fmt.Printf(" connString:%s\n", connString)
   }
   db, err := sql.Open("mssql", connString)
   if err != nil {
      log.Fatal("Open connection failed:", err.Error())
      return nil, err
   }
   err = db.Ping()
   if err != nil {
      fmt.Print("PING:%s",err)
      return nil, err
   }
   return db, nil
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Json____

您的鼓励是我创作的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值