설명 없음
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mycsv_test.go 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package main
  2. import (
  3. "encoding/json"
  4. "log"
  5. "testing"
  6. "git.x2erp.com/qdy/go-db/factory/database"
  7. )
  8. func TestNamedParamsQueryCSV(t *testing.T) {
  9. factory, err := database.GetDBFactory()
  10. if err != nil {
  11. t.Fatalf("Failed to get DB factory: %v", err)
  12. }
  13. defer factory.Close()
  14. // 简化的SQL,只测试3个参数
  15. sql := `
  16. SELECT * FROM (
  17. SELECT a.*, ROWNUM rn FROM (
  18. SELECT CLOTHING_ID, CLOTHING_NAME
  19. FROM X6_STOCK_DEV.A3_CLOTHING
  20. where clothing_id>:1
  21. ORDER BY CLOTHING_ID
  22. ) a WHERE ROWNUM <= :2
  23. ) WHERE rn > :3
  24. `
  25. // // 3个参数
  26. params := []interface{}{
  27. "A",
  28. 10,
  29. 0,
  30. }
  31. // // 3个参数
  32. // params := map[string]interface{}{
  33. // "end_row": 10,
  34. // "start_row": 0,
  35. // }
  36. // // 3个参数
  37. // params := map[string]interface{}{
  38. // "clothing_id": "`0`",
  39. // "end_row": 10,
  40. // "start_row": 0,
  41. // }
  42. // 执行查询
  43. result := factory.QueryPositionalToJSON(sql, params)
  44. // 检查结果 - 根据你的错误信息,result.Error 是 string 类型
  45. if err != nil { // 改成检查空字符串
  46. t.Errorf("Named parameters query failed: %s", err)
  47. } else {
  48. // 将请求参数输出为格式化的 JSON 日志
  49. reqJSON, err := json.MarshalIndent(result, "", " ")
  50. if err != nil {
  51. log.Printf("无法序列化请求参数: %v", err)
  52. } else {
  53. log.Printf("QueryRequest 参数:\n%s", string(reqJSON))
  54. }
  55. // 或者使用 fmt 输出
  56. //fmt.Printf("=== QueryRequest ===\n%s\n====================\n", string(reqJSON))
  57. }
  58. }