Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

query_json.go 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package functions
  2. import (
  3. "git.x2erp.com/qdy/go-base/ctx"
  4. "git.x2erp.com/qdy/go-base/model/request/dorisreq"
  5. "git.x2erp.com/qdy/go-base/model/response"
  6. "git.x2erp.com/qdy/go-db/factory/database"
  7. )
  8. // 执行查询,返回CSV数据格式。无参数查询
  9. func QueryToJSON(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) (*response.QueryResult[[]map[string]interface{}], error) {
  10. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  11. return nil, err
  12. } else {
  13. return dbFactory.QueryToJSON(req.SQL, reqCtx), nil
  14. }
  15. }
  16. // 执行查询,返回CSV数据格式。带参数名称进行查询
  17. func QueryParamNameToJSON(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) (*response.QueryResult[[]map[string]interface{}], error) {
  18. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  19. return nil, err
  20. } else {
  21. return dbFactory.QueryParamsNameToJSON(req.SQL, req.Params, reqCtx), nil
  22. }
  23. }
  24. // 执行查询,返回JSON数据格式。带占位参数进行查询
  25. func QueryPositionalToJSON(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) (*response.QueryResult[[]map[string]interface{}], error) {
  26. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  27. return nil, err
  28. } else {
  29. return dbFactory.QueryPositionalToJSON(req.SQL, req.PositionalParams, reqCtx), nil
  30. }
  31. }