From 28a9fd5d3afe4f8db2e318489bbc0eb0bfe53f0d Mon Sep 17 00:00:00 2001 From: viviman Date: Mon, 13 Sep 2021 19:50:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=8A=E5=95=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang_learn/data_func/go_to_mssql/main.go | 95 ++++++++++++++++++++++ golang_learn/data_paixu/10排序.md | 4 +- golang_learn/go.mod | 2 + golang_learn/go.sum | 5 ++ 4 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 golang_learn/data_func/go_to_mssql/main.go diff --git a/golang_learn/data_func/go_to_mssql/main.go b/golang_learn/data_func/go_to_mssql/main.go new file mode 100644 index 0000000..94e994d --- /dev/null +++ b/golang_learn/data_func/go_to_mssql/main.go @@ -0,0 +1,95 @@ +package main + +import ( + "database/sql" + "fmt" + "log" + + _ "github.com/mattn/go-adodb" +) + +// 连接 Microsoft SQL 结构体 +type Mssql struct { + *sql.DB +} + +var ( + mssql_data_source string = "10.6.132.21" + mssql_database string = "gmistjj" + mssql_user string = "epsoft" + mssql_passwd string = "epsoft" + mssql_port string = "1433" + db Mssql +) + +func main() { + + name, err := GetName() + + if err != nil { + fmt.Println(name) + } +} + +func (m *Mssql) GetSqlHandle() (err error) { + if m.DB != nil { + m.Close() + log.Fatalf("关闭连接后从新连接~") + } + + sql_conn_str := fmt.Sprintf("driver={sql server};server=%s;port=%s;uid=%s;pwd=%s;database=%s", + mssql_data_source, mssql_port, mssql_user, mssql_passwd, mssql_database, + ) + + m.DB, err = sql.Open("odbc", sql_conn_str) + if err != nil { + fmt.Println("链接失败!") + return err + } + return nil +} + +// 关闭数据库 +func (m *Mssql) Close() (err error) { + if m.DB == nil { + return nil + } + err = m.DB.Close() + m.DB = nil + return +} + +// 获取最近一期数据库数据 +func GetName() (name string, err error) { + // 连接数据库 + err = db.GetSqlHandle() + if err != nil { + return + } + defer db.Close() + + sql_cmd := "select AB0111,AB0110,ZA9998,AA0177 from aa01 where AB0111 like '1105%' and AA010D='1' order by AB0110,AK010U" + + // 执行SQL语句 + rows, err := db.Query(sql_cmd) + if err != nil { + return + } + defer rows.Close() // 释放连接池 + + img := Img{} + + for rows.Next() { + rows.Scan(&img.AB0111, &img.AB0110, &img.ZA9998, &img.AA0177) + fmt.Println(img) + } + + return +} + +type Img struct { + AB0111 string + AB0110 string + ZA9998 string + AA0177 string +} diff --git a/golang_learn/data_paixu/10排序.md b/golang_learn/data_paixu/10排序.md index 4d05cb0..3e4e7a2 100644 --- a/golang_learn/data_paixu/10排序.md +++ b/golang_learn/data_paixu/10排序.md @@ -2,7 +2,6 @@ * **排序**:将一组“无序”的记录列表调整为“有序”的记录列表 - * 列表排序:将无序列表变为有序列表 * 输入:无序排序 * 输出:有序排序 @@ -22,4 +21,5 @@ * 希尔排序 * 计数排序 * 基数排序 - * \ No newline at end of file + + \ No newline at end of file diff --git a/golang_learn/go.mod b/golang_learn/go.mod index 1a88756..a56743f 100644 --- a/golang_learn/go.mod +++ b/golang_learn/go.mod @@ -10,12 +10,14 @@ require ( github.com/bitly/go-simplejson v0.5.0 github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 github.com/go-ini/ini v1.62.0 + github.com/go-ole/go-ole v1.2.5 // indirect github.com/go-sql-driver/mysql v1.6.0 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b github.com/google/uuid v1.1.2 github.com/joho/godotenv v1.3.0 github.com/lxn/walk v0.0.0-20210112085537-c389da54e794 github.com/lxn/win v0.0.0-20210218163916-a377121e959e + github.com/mattn/go-adodb v0.0.1 github.com/mattn/go-oci8 v0.1.1 github.com/mattn/go-sqlite3 v1.14.8 github.com/russross/blackfriday v1.6.0 diff --git a/golang_learn/go.sum b/golang_learn/go.sum index 0a82228..b07b44b 100644 --- a/golang_learn/go.sum +++ b/golang_learn/go.sum @@ -97,6 +97,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200625191551-73d3c3675aa3 h1:q521PfSp5/ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200625191551-73d3c3675aa3/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ini/ini v1.62.0 h1:7VJT/ZXjzqSrvtraFp4ONq80hTcRQth1c9ZnQ3uNQvU= github.com/go-ini/ini v1.62.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -218,6 +220,8 @@ github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+ github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mattn/go-adodb v0.0.1 h1:g/pk3V8m/WFX2IQRI58wAC24OQUFFXEiNsvs7dQ1WKg= +github.com/mattn/go-adodb v0.0.1/go.mod h1:jaSTRde4bohMuQgYQPxW3xRTPtX/cZKyxPrFVseJULo= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-oci8 v0.1.1 h1:aEUDxNAyDG0tv8CA3TArnDQNyc4EhnWlsfxRgDHABHM= @@ -433,6 +437,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=