QueryRow.Scan () не правильно читает значения? - PullRequest
0 голосов
/ 28 октября 2019

У меня есть такая строка: enter image description here

Теперь я хочу получить checkin_time и checkout_time : enter image description here

ОК. Я уже получил правильный запрос. Теперь выполните запрос с помощью кода Go:

package controllers

import (
    "absensi/config"
    "absensi/models"
    "encoding/json"
    "fmt"
    "net/http"
    "time"
)

func DoScanRow(w http.ResponseWriter, r *http.Request) {
    var tmpcheckintime string
    var tmpcheckouttime string
    var param models.CheckinParam
    var db = config.DBConnect()
    json.NewDecoder(r.Body).Decode(&param)

    query1 := `SELECT checkin_time, checkout_time FROM oc_log WHERE userid=$1 AND userdate=$2;`
    row := db.QueryRow(query1, param.UserId, time.Now().Format("2006-01-02"))
    row.Scan(&tmpcheckintime, &tmpcheckouttime)

    fmt.Println("--> id: " + param.UserId)
    fmt.Println("--> date: " + time.Now().Format("2006-01-02"))
    fmt.Println("--> checkin: ", tmpcheckouttime)
    fmt.Println("--> checkout: ", tmpcheckouttime)

}

Если я отправлю эту полезную нагрузку через почтальона:

{"id": "1234", "location": "(100,100) "," расстояние ": 4}

Я получаю это:

-> id: 1234

-> дата: 2019-10-28

-> checkin:

-> checkout:

Время регистрации и оформления заказа пустое. Все же очевидно, что только время проверки пустое. Что здесь не так?

1 Ответ

1 голос
/ 28 октября 2019

В последних двух строках кода вы регистрируете tmpcheckouttime дважды подряд:

    fmt.Println("--> checkin: ", tmpcheckouttime)
    fmt.Println("--> checkout: ", tmpcheckouttime)

Если вы исправите первое Println, получите ли вы то, что ожидаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...