|
|
@@ -4,7 +4,6 @@ import (
|
|
4
|
4
|
"database/sql"
|
|
5
|
5
|
"encoding/json"
|
|
6
|
6
|
"fmt"
|
|
7
|
|
- "log"
|
|
8
|
7
|
"time"
|
|
9
|
8
|
|
|
10
|
9
|
"git.x2erp.com/qdy/go-base/types"
|
|
|
@@ -19,17 +18,12 @@ func QueryParamsNameToJSON(db *sqlx.DB, sql string, params map[string]interface{
|
|
19
|
18
|
return createErrorResult("SQL query cannot be empty", startTime)
|
|
20
|
19
|
}
|
|
21
|
20
|
|
|
22
|
|
- log.Printf("QueryRequest sql:\n%s", sql)
|
|
23
|
|
- log.Printf("QueryRequest 参数:\n%s", params)
|
|
24
|
21
|
// 处理命名参数
|
|
25
|
22
|
query, args, err := sqlx.Named(sql, params)
|
|
26
|
23
|
if err != nil {
|
|
27
|
24
|
return createErrorResult(fmt.Sprintf("Failed to process named parameters: %v", err), startTime)
|
|
28
|
25
|
}
|
|
29
|
26
|
|
|
30
|
|
- log.Printf("QueryRequest query:\n%s", query)
|
|
31
|
|
- log.Printf("QueryRequest query args:\n%s", args)
|
|
32
|
|
-
|
|
33
|
27
|
// 执行查询
|
|
34
|
28
|
rows, err := db.Query(sqlx.Rebind(sqlx.DOLLAR, query), args...)
|
|
35
|
29
|
//rows, err := sqlx.NamedQuery(db, sql, params)
|
|
|
@@ -38,13 +32,12 @@ func QueryParamsNameToJSON(db *sqlx.DB, sql string, params map[string]interface{
|
|
38
|
32
|
}
|
|
39
|
33
|
defer rows.Close()
|
|
40
|
34
|
|
|
41
|
|
- log.Printf("QueryRequest rows:\n%s", "ok")
|
|
42
|
35
|
// 处理结果集
|
|
43
|
36
|
return processQueryResult(rows, startTime)
|
|
44
|
37
|
}
|
|
45
|
38
|
|
|
46
|
39
|
// QueryPositionalToJSON 执行带位置参数的查询
|
|
47
|
|
-func QueryPositionalToJSON(db *sqlx.DB, sql string, positionalParams []interface{}) *types.QueryResult {
|
|
|
40
|
+func QueryPositionalToJSON(db *sqlx.DB, sql string, positionalParams ...interface{}) *types.QueryResult {
|
|
48
|
41
|
startTime := time.Now()
|
|
49
|
42
|
|
|
50
|
43
|
if sql == "" {
|
|
|
@@ -52,7 +45,7 @@ func QueryPositionalToJSON(db *sqlx.DB, sql string, positionalParams []interface
|
|
52
|
45
|
}
|
|
53
|
46
|
|
|
54
|
47
|
// 执行查询
|
|
55
|
|
- rows, err := db.Query(sql, positionalParams)
|
|
|
48
|
+ rows, err := db.Query(sql, positionalParams...)
|
|
56
|
49
|
if err != nil {
|
|
57
|
50
|
return createErrorResult(fmt.Sprintf("Query execution failed: %v", err), startTime)
|
|
58
|
51
|
}
|