Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL, VB6: MySql ja kellonaika

Sivun loppuun

codegirl [03.06.2004 21:31:59]

#

Moi!

Osaako kukaan kertoa, että miksi Visual Basic ei tunnista tietokannasta haettua kellonaikaa?

Tietokantaan on tallennettu kellonaika muodossa hh:mm:ss. Kun kellonaikaa yrittää sijoittaa muuttujaan saadaan virheilmoitus "Invalid use of Null". SQL-lause on toimiva ja muut tiedot tietokannasta voidaan tallentaa muuttujiin normaalisti. Missäköhän mahdollisesti on vika?

Kiitos!

tuomas [03.06.2004 21:33:36]

#

laitatko koodin pätkän jolla sijoitat kellon ajan muuttujaan.

codegirl [03.06.2004 21:45:30]

#

Select lause on seuraavanlainen:

Set adTietue=Yhteys.Execute("SELECT nimi, paivamaara, kellonaika FROM taulu")

Muuttujaan sijoitus:

MuuttujaKello=adTietue("kellonaika")

Kaikki muut tiedot menevät muuttujiin samallaisilla sijoituslauseilla.

Antti [03.06.2004 21:48:00]

#

Kokeile castata se: MuuttujaKello=CDate(adTietue("kellonaika"))

Olettaen että versio oli VB6?

codegirl [03.06.2004 22:16:17]

#

Joo, kyllä on VB6, mutta ei toiminut. Antaa edelleen saman ilmoituksen.

Antti [03.06.2004 22:33:39]

#

"Invalid Use of null" - tarkoittaa että kannasta luettu arvo on tyhjä. vältät sen kirjoittamalla:

If Not isNull(adTietue("kellonaika")) Then
  MuuttujaKello=CDate(adTietue("kellonaika"))
End If

' Tai

If isDate(adTietue("kellonaika")) Then
  MuuttujaKello=CDate(adTietue("kellonaika"))
End If

codegirl [04.06.2004 17:35:47]

#

Tuo poistaa virheilmoituksen, mutta ei silti näytä kannassa olevia tietoja. Jostain syystä VB ei tunnista kannassa olevia kellonaikoja, joiden tyyppi on TIME, vaikka esimerkiksi DATE-tyyppiset päivämäärät tunnistaa.

Sami [04.06.2004 19:36:28]

#

Kokeilehan laittaa se kellonaika stringiin ja katso lukeeko siinä mitään. Jos lukee, niin sitten se kellonajaksi muuttaminen bugaa, jos ei lue, niin sitten joku bugaa vähän pahemmin (siinä tapauksessa haet tietokannasta tyhjää, eli kannattaa tarkistaa esim. muuttujien oikeinkirjoitus)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta