From a8d4b214254f0fc062a05e354ebd0d061c5b4089 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 1 Jul 2018 18:56:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bgdb=E5=8C=85=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E9=A2=84=E5=A4=84=E7=90=86=E5=8F=82=E6=95=B0=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E8=BD=AC=E6=8D=A2=E4=B8=BAstring=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/database/gdb/gdb_base.go | 9 ++++++--- g/database/gdb/gdb_transaction.go | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/g/database/gdb/gdb_base.go b/g/database/gdb/gdb_base.go index 48817a5b4..305d3b6c0 100644 --- a/g/database/gdb/gdb_base.go +++ b/g/database/gdb/gdb_base.go @@ -234,7 +234,7 @@ func (db *Db) insert(table string, data Map, option uint8) (sql.Result, error) { for k, v := range data { fields = append(fields, db.charl + k + db.charr) values = append(values, "?") - params = append(params, v) + params = append(params, gconv.String(v)) } operation := db.getInsertOperationByOption(option) updatestr := "" @@ -247,7 +247,10 @@ func (db *Db) insert(table string, data Map, option uint8) (sql.Result, error) { } return db.Exec( fmt.Sprintf("%s INTO %s%s%s(%s) VALUES(%s) %s", - operation, db.charl, table, db.charr, strings.Join(fields, ","), strings.Join(values, ","), updatestr), params... + operation, db.charl, table, db.charr, strings.Join(fields, ","), + strings.Join(values, ","), + updatestr), + params... ) } @@ -298,7 +301,7 @@ func (db *Db) batchInsert(table string, list List, batch int, option uint8) (sql // 构造批量写入数据格式(注意map的遍历是无序的) for i := 0; i < size; i++ { for _, k := range keys { - params = append(params, list[i][k]) + params = append(params, gconv.String(list[i][k])) } bvalues = append(bvalues, valueHolderStr) if len(bvalues) == batch { diff --git a/g/database/gdb/gdb_transaction.go b/g/database/gdb/gdb_transaction.go index 365bbb92c..9ded8f744 100644 --- a/g/database/gdb/gdb_transaction.go +++ b/g/database/gdb/gdb_transaction.go @@ -169,7 +169,7 @@ func (tx *Tx) insert(table string, data Map, option uint8) (sql.Result, error) { for k, v := range data { keys = append(keys, tx.db.charl + k + tx.db.charr) values = append(values, "?") - params = append(params, v) + params = append(params, gconv.String(v)) } operation := tx.db.getInsertOperationByOption(option) updatestr := "" @@ -182,7 +182,10 @@ func (tx *Tx) insert(table string, data Map, option uint8) (sql.Result, error) { } return tx.Exec( fmt.Sprintf("%s INTO %s%s%s(%s) VALUES(%s) %s", - operation, tx.db.charl, table, tx.db.charr, strings.Join(keys, ","), strings.Join(values, ","), updatestr), params... + operation, tx.db.charl, table, tx.db.charr, strings.Join(keys, ","), + strings.Join(values, ","), + updatestr), + params... ) } @@ -233,7 +236,7 @@ func (tx *Tx) batchInsert(table string, list List, batch int, option uint8) (sql // 构造批量写入数据格式(注意map的遍历是无序的) for i := 0; i < size; i++ { for _, k := range keys { - params = append(params, list[i][k]) + params = append(params, gconv.String(list[i][k])) } bvalues = append(bvalues, valueHolderStr) if len(bvalues) == batch {