| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package main
-
- import (
- "encoding/json"
- "log"
- "testing"
-
- "git.x2erp.com/qdy/go-db/factory/database"
- )
-
- func TestNamedParamsQueryCSV(t *testing.T) {
- factory, err := database.GetDBFactory()
- if err != nil {
- t.Fatalf("Failed to get DB factory: %v", err)
- }
- defer factory.Close()
-
- // 简化的SQL,只测试3个参数
- sql := `
- SELECT * FROM (
- SELECT a.*, ROWNUM rn FROM (
- SELECT CLOTHING_ID, CLOTHING_NAME
- FROM X6_STOCK_DEV.A3_CLOTHING
- where clothing_id>:1
- ORDER BY CLOTHING_ID
- ) a WHERE ROWNUM <= :2
- ) WHERE rn > :3
- `
-
- // // 3个参数
- params := []interface{}{
- "A",
- 10,
- 0,
- }
-
- // // 3个参数
- // params := map[string]interface{}{
-
- // "end_row": 10,
- // "start_row": 0,
- // }
- // // 3个参数
- // params := map[string]interface{}{
- // "clothing_id": "`0`",
- // "end_row": 10,
- // "start_row": 0,
- // }
-
- // 执行查询
- result := factory.QueryPositionalToJSON(sql, params)
-
- // 检查结果 - 根据你的错误信息,result.Error 是 string 类型
- if err != nil { // 改成检查空字符串
- t.Errorf("Named parameters query failed: %s", err)
- } else {
- // 将请求参数输出为格式化的 JSON 日志
- reqJSON, err := json.MarshalIndent(result, "", " ")
- if err != nil {
- log.Printf("无法序列化请求参数: %v", err)
- } else {
- log.Printf("QueryRequest 参数:\n%s", string(reqJSON))
- }
-
- // 或者使用 fmt 输出
- //fmt.Printf("=== QueryRequest ===\n%s\n====================\n", string(reqJSON))
- }
-
- }
|