Я пытаюсь использовать результат запроса как целое число, поэтому я могу использовать его в различных вычислениях.
Я довольно новичок в 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 в новую строку в моей базе данных вместе с некоторой другой информацией о клиенте.