Sobes.tech
Junior — Middle

Kokios priežastys gali sukelti situaciją, kai duomenų iš duomenų bazės išgauti nepavyksta?

sobes.tech AI

Atsakymas iš AI

Duomenys gali būti nepaimti iš bazės dėl kelių priežasčių:

  • Klaidos užklausoje: sintaksės klaidos, neteisingos WHERE sąlygos, trūkstami JOIN'ai.
  • Duomenų trūkumas: paprasčiausiai nėra įrašų lentelėje, kurie atitiktų užklausą.
  • Ryšio problemos: bazė neprieinama, laiko limitai, tinklo klaidos.
  • Prieigos teisės: vartotojui nėra leidžiama skaityti reikalingų lentelių.
  • Transakcijų problemos: duomenys užblokuoti arba nepatvirtinti.
  • Neteisingas rezultatų apdorojimas: klaidos kode, neteisingas eilučių nuskaitymas.

Pavyzdys Go kalba su klaidų patikra duomenų gavimo metu:

row := db.QueryRow("SELECT name FROM users WHERE id = ?", userID)
var name string
err := row.Scan(&name)
if err == sql.ErrNoRows {
    fmt.Println("Vartotojas nerastas")
} else if err != nil {
    log.Fatal(err)
} else {
    fmt.Println("Vartotojo vardas:", name)
}