qdy 3 месяцев назад
Родитель
Сommit
4e4d427652
2 измененных файлов: 9 добавлений и 21 удалений
  1. 7
    12
      functions/query_csv.go
  2. 2
    9
      functions/query_json.go

+ 7
- 12
functions/query_csv.go Просмотреть файл

4
 	"database/sql"
4
 	"database/sql"
5
 	"encoding/csv"
5
 	"encoding/csv"
6
 	"fmt"
6
 	"fmt"
7
-	"log"
8
 	"strings"
7
 	"strings"
9
 
8
 
10
 	"github.com/jmoiron/sqlx"
9
 	"github.com/jmoiron/sqlx"
45
 		return nil, fmt.Errorf("SQL query cannot be empty")
44
 		return nil, fmt.Errorf("SQL query cannot be empty")
46
 	}
45
 	}
47
 
46
 
48
-	log.Printf("QueryRequest 参数:\n%s", sql)
49
-	log.Printf("QueryRequest 参数:\n%s", params)
50
-	//query, args, err := sqlx.NamedQuery(sql, params)
51
-	//if err != nil {
52
-	//	return nil, fmt.Errorf("failed to bind named parameters: %v", err)
53
-	//	}
47
+	query, args, err := sqlx.Named(sql, params)
48
+	if err != nil {
49
+		return nil, fmt.Errorf("failed to bind named parameters: %v", err)
50
+	}
54
 
51
 
55
-	//query = db.Rebind(query)
56
-	rows, err := sqlx.NamedQuery(db, sql, params)
52
+	query = db.Rebind(query)
53
+	rows, err := db.Query(query, args...)
57
 	if err != nil {
54
 	if err != nil {
58
 		return nil, fmt.Errorf("query execution failed: %v", err)
55
 		return nil, fmt.Errorf("query execution failed: %v", err)
59
 	}
56
 	}
60
-	defer rows.Close()
61
 
57
 
62
-	log.Printf("QueryRequest err:\n%s", err)
63
-	return rowsToCSV(rows.Rows)
58
+	return rowsToCSV(rows)
64
 }
59
 }
65
 
60
 
66
 // / rowsToCSV 公共方法:将查询结果转换为 CSV 字节数据
61
 // / rowsToCSV 公共方法:将查询结果转换为 CSV 字节数据

+ 2
- 9
functions/query_json.go Просмотреть файл

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

Загрузка…
Отмена
Сохранить