Skip to content

Commit 487ef9d

Browse files
committed
db select query result returneed
1 parent 6ef0f33 commit 487ef9d

File tree

2 files changed

+56
-51
lines changed

2 files changed

+56
-51
lines changed

app.go

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,22 @@ func (a *App) initializeRoutes() {
4747

4848
}
4949

50+
////////
51+
52+
func respondWithJSON(w http.ResponseWriter, code int, payload interface{}) {
53+
response, _ := json.Marshal(payload)
54+
55+
w.Header().Set("Content-Type", "application/json")
56+
w.WriteHeader(code)
57+
w.Write(response)
58+
}
59+
60+
func respondWithError(w http.ResponseWriter, code int, message string) {
61+
respondWithJSON(w, code, map[string]string{"error": message})
62+
}
63+
64+
////////
65+
5066
type QueryRequest struct {
5167
QueryString string `json:"query_string"`
5268
}
@@ -59,30 +75,28 @@ func (a *App) apiMakeDbRequest(w http.ResponseWriter, r *http.Request) {
5975
json.Unmarshal(reqBody, &queryrequest)
6076
fmt.Println(queryrequest)
6177

62-
response, err := do_db_query(queryrequest.QueryString)
78+
response, err := do_db_query(a.DB, queryrequest.QueryString)
6379
if err != nil {
64-
w.WriteHeader(http.StatusInternalServerError)
65-
w.Write([]byte(`{"message": "error"}`))
80+
respondWithError(w, http.StatusInternalServerError, err.Error())
81+
return
6682
}
83+
respondWithJSON(w, http.StatusOK, response)
6784

6885
fmt.Println(response)
69-
type RespObject struct {
70-
Data []interface{}
71-
}
72-
respObject := RespObject{response}
73-
data, err := json.Marshal(respObject)
74-
if err != nil {
75-
fmt.Println(err)
76-
}
77-
fmt.Println("", data)
78-
79-
w.Header().Set("Content-Type", "application/json")
80-
w.WriteHeader(http.StatusOK)
81-
w.Write(data)
82-
// var res map[string]interface{}
83-
// json.Marshal(&response, &res)
86+
// type RespObject struct {
87+
// Data map[string]interface{}
88+
// }
89+
// respObject := RespObject{response}
90+
// data, err := json.Marshal(respObject)
91+
// if err != nil {
92+
// fmt.Println(err)
93+
// }
94+
// fmt.Println("", data)
95+
96+
// w.Header().Set("Content-Type", "application/json")
97+
// w.WriteHeader(http.StatusOK)
98+
// // w.Write(data)
8499

85-
// w.Write([]byte(`{"message": "post called"}`))
86100
}
87101

88102
func (a *App) getRequest(w http.ResponseWriter, r *http.Request) {

do_db_query.go

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,41 @@ import (
44
"database/sql"
55
"errors"
66
"fmt"
7-
"log"
87
)
98

10-
func do_db_query(query_string string) ([]interface{}, error) {
11-
db_type := "postgres"
12-
db_user := "postgres"
13-
db_password := "123456"
14-
db_host := "localhost"
15-
db_database := "dbSapHasap"
9+
type query_response map[string]interface{}
1610

17-
connStr := fmt.Sprintf("%s://%s:%s@%s/%s?sslmode=disable", db_type, db_user, db_password, db_host, db_database)
11+
func do_db_query(db *sql.DB, query_string string) ([]query_response, error) {
1812

19-
db, err := sql.Open("postgres", connStr)
13+
rows, err := db.Query(query_string)
2014
if err != nil {
21-
log.Fatal(err)
22-
}
23-
24-
query_request := query_string
25-
26-
rows, err := db.Query(query_request)
27-
if err != nil {
28-
log.Fatal(err)
15+
return nil, err
2916
}
3017
defer rows.Close()
3118

32-
cols, _ := rows.Columns()
33-
34-
var query_results []interface{}
35-
var error error
19+
query_results := []query_response{}
3620

3721
for rows.Next() {
3822

23+
r := make(query_response)
24+
cols, _ := rows.Columns()
25+
26+
fmt.Println(cols, "\n", len(cols))
3927
values := make([]interface{}, len(cols))
4028
valuePointers := make([]interface{}, len(cols))
4129

4230
for i := range cols {
4331
valuePointers[i] = &values[i]
4432
}
4533

34+
fmt.Println("\n", valuePointers)
35+
4636
if err := rows.Scan(valuePointers...); err != nil {
47-
error = err
37+
return nil, err
4838
}
4939

5040
for i, col := range cols {
51-
query_result_dict := map[interface{}]interface{}{}
41+
5242
var query_value interface{}
5343

5444
val := values[i]
@@ -59,22 +49,23 @@ func do_db_query(query_string string) ([]interface{}, error) {
5949
} else {
6050
query_value = val
6151
}
62-
query_result_dict[col] = query_value
52+
r[col] = query_value
6353

64-
fmt.Println(query_result_dict)
65-
query_results = append(query_results, query_result_dict)
6654
}
55+
fmt.Println(r)
56+
query_results = append(query_results, r)
6757

68-
fmt.Println("resutls---------", "")
69-
// fmt.Println("")
70-
fmt.Println(query_results)
58+
// fmt.Println("\n resutls---------")
59+
// fmt.Println(query_results)
60+
// fmt.Println("\n", "fuck", "you", "+++++++++++++++++")
7161

7262
}
7363

7464
if len(query_results) < 1 {
75-
error = errors.New("empty name")
65+
err = errors.New("ot found")
66+
return nil, err
7667
}
7768

78-
defer db.Close()
79-
return query_results, error
69+
// defer db.Close()
70+
return query_results, nil
8071
}

0 commit comments

Comments
 (0)