Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Muodon tarkistus

codegirl [29.07.2004 19:45:01]

#

Miten saisin tarkistettu että käyttäjän syöttämät päivämäärä ja kellonaika ovat "käyttökelpoisia"? Tietokanta on toteutettu MySQL:llä. Ongelmana on että jos käyttäjä syöttää vahingossa päivämäärän tai kellonajan sellaisessa muodossa jota "ei ole olemassa" esim. päivämäärä 12.13.2004, tietokantaan tallentuu tyhjä päivämäärä (00.00.0000). Päivämäärä kenttä on pakollinen, ja tiedot tallentuvat ilman virheilmoituksia. Haettaessa tietoja tulee virhe, joka kaataa koko ohjelman. Tälläista ei saisi missään nimessä tapahtua, eli onko mitään keinoa jolla nuo muodot saisi testattua että ne ovat muodoltaan oikeanlaisia?

Tulipa hieman epäselvästi selitettyä, mielelläni tarkennan jos tarvitsee. Kiitos jo etukäteen! =)

BadSource [29.07.2004 20:29:36]

#

Helpoiten menee tarkistuksella IsDate(päivämäärä) ennen kuin viet arvoa tietokantaan.

Tiha [29.07.2004 20:34:00]

#

suosittelen lämpimästi valmiin kalenterin käyttöä jolloin ei voi mennä väärin...

tuomas [29.07.2004 21:08:45]

#

Hoida asia vaikeimman kautta:
hae vaikka vb:n left ja mid funktioita käyttäen ensin päivämäärä muuttujaan ja sitten kuukausi.
Jos päivämäärä on isompi kuin 31 tai kuukauden arvo on suurempi kuin 12 niin annetaan virheilmoitus ja estetään tietokantaan kirjoitus.
linkit ko. funktioiden käyttöön:
https://www.ohjelmointiputka.net/hak/?kieli­=Visual Basic&nimi=Mid
https://www.ohjelmointiputka.net/hak/?kieli­=Visual Basic&nimi=Left

hunajavohveli [29.07.2004 21:22:16]

#

Parempi käyttää valmista funktiota, jos tuollainen IsDate kerran löytyy, niin varmasti ainakin toimii oikein. Sitten voi tietysti ruveta koodamaan merkkijonofunktioilla, jos ei tarvittavaa funktiota ole valmiina.

renni [30.07.2004 13:19:29]

#

Valmiit funktiot eivät välttämättä tue haluttua tai useampia eri muotoja. Joskus on tarvetta sallia erilaisia tapoja syöttää päiväys, esim päivämäärä parissa eri muodossa ja lisäksi vaikka +/- X päivää.

Valmiin kalenterin käyttö on tehokas tapa estää virhesyötöt, mutta pidemmän päälle sen käyttö voi olla liian hankalaa.

Antti [01.08.2004 12:39:01]

#

Hmmm... onko Format-komento tuttu?

Vastaus

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

Tietoa sivustosta