Как использовать результаты запроса SQL в качестве переменной - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь использовать результат запроса как целое число, поэтому я могу использовать его в различных вычислениях.

Я довольно новичок в Go и программировании в целом (действительно новый, только что начал учиться несколько недель назад). Для школьного задания мне нужно рассчитать «doorlooptijd» (количество месяцев, которое клиент должен заплатить) на основе возраста клиентов. Когда я запускаю код ниже, я получаю сообщение об ошибке: «не могу использовать leeftijdAlsText (type * sql.Rows) в качестве строки типа в аргументе strconv.Atoi '

leeftijd := "SELECT TIMESTAMPDIFF(YEAR, k.geboortedatum, NOW()) AS leeftijd FROM klant k WHERE k.klantnummer = ?"
leeftijdAlsText, err := db.Query(leeftijd, nummerKlant)
if err != nil {
    fmt.Println("Error found.")
    panic(err)
}
var huidigeLeeftijd int
if leeftijdAlsText.Next() {
    err := leeftijdAlsText.Scan(&leeftijdAlsText)
    if err != nil {
        fmt.Println("Error found")
        panic(err)
    }
}
huidigeLeeftijd, _ = strconv.Atoi(leeftijdAlsText)
var doorlooptijd int
if huidigeLeeftijd < 45 {
    doorlooptijd = 120
} else if huidigeLeeftijd > 45 && huidigeLeeftijd < 55 {
    doorlooptijd = 90
} else if huidigeLeeftijd > 55 {
    doorlooptijd = 60
}

Когда это работает, мне нужно вставить doorlooptijd в новую строку в моей базе данных вместе с некоторой другой информацией о клиенте.

...