gpt4 book ai didi

postgresql - QueryRow.Scan() 不能正确读取值?

转载 作者:行者123 更新时间:2023-12-01 22:35:17 25 4
gpt4 key购买 nike

我有一排这样的:
enter image description here

现在我想检索 签到时间结帐时间 :
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)

}

如果我通过 Postman 发送此有效负载:

{ "id": "1234", "location": "(100,100)", "distance": 4 }



我明白了:

--> id: 1234

--> date: 2019-10-28

--> checkin:

--> checkout:



入住和退房时间都是空的。然而显然只有结账时间是空的。这里有什么问题?

最佳答案

您发布的最后两行代码记录了 tmpcheckouttime连续两次:

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

如果您修复第一个 Println ,你得到你所期望的吗?

关于postgresql - QueryRow.Scan() 不能正确读取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58585557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com