banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 28 Mar 2024, 14:01

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 8 Posta ] 
Autoru Poruka
PostPoslato: 18 Dec 2016, 18:36 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 09 Jul 2005, 15:20
Postovi: 462
Lokacija: Banja Luka
Pozdrav narode,

Početnik sam u programiranju te nemojte zamjeriti ukoliko možda postavljam glupa pitanja ili moj riječnik nije na potrebnom nivou.

Elem, aplikacija je rađena u VB.NET-u i povezuje se sa bazom u MySQL. Na aplikaciji se nalazi DayTimePicker čijim odabirom datuma se prvo popunjava TextBox polje na masci. Klikom na dugme za upis u bazu izvršava se SQL naredba i podatak o datumu se iz TextBox polja upisuje u odgovarajuće polje u MySQL bazi.

Problem: Problem nastaje onog momenta kad se ne odabere nikakav datum sa maske (tipa "Datum polaganja ispita" neće biti odabran ukoliko student nije izašao na polaganje tog ispita). Nakon popunjavanja ostalih podataka sa maske aplikacije (i recimo neodabiranja jednog datuma) biće izvršen uspješan insert u bazu podataka.
Međutim prilikom pokušaja čitanja iz baze podataka o tom studentu, aplikacija puca uz sljedeći error: "Type of value has a mismatch with column typeCouldn't store <1.1.0001 0:00:00>". Nakon uvida u bazi vidio sam da mi aplikacija prilikom neodabira datuma automatski dodjeljuje tom polju u bazi vrijednost "0000-00-00" i tu dolazi do pucanja aplikacije kod čitanja.

U bazi sam pokušao da to polje postavim kao NULL i nije uspjelo. Pokušao sam i da u bazi zadam nekakvu defaultnu vrijednost, lažni datum, recimo 1970.01.01, i to sam isprobao direktnim insertima kroz bazu i radilo je. Međutim kad sam to isprobao kroz aplikaciju - opet ništa, umjesto te defaultne vrijednosti u bazu je bilo upisano "0000-00-00" i aplikacija je pucala.

Postoji li način ili da mi u bazi ostane NULL ili neka druga defaultna "fantomska" vrijednost a da mi na TextBox polju u aplikaciji bude prazno polje " "?


Vrh
 Profil  
 
PostPoslato: 18 Dec 2016, 18:55 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 07 Jul 2009, 13:22
Postovi: 5018
Lokacija: Banja Luka
Stavi dio koda koji obradjuje ocitano vrijeme u try-cathc i hendluj error, tako sto ces postaviti tekst textBox-a kao prazan string.

Samo mi nije jasno, DayTimePicker bi trebao imati setovanu default vrijednost...

_________________
Eins, zwei, eins, zwei build an empire, very Prussian!
Exhaust gasses go into the turbocharger and spin it, witchcraft happens, and you go faster.


Vrh
 Profil  
 
PostPoslato: 19 Dec 2016, 19:15 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 09 Jul 2005, 15:20
Postovi: 462
Lokacija: Banja Luka
Pokušao sa Try-Catch blokom. Opet puca. Naravno, pod uslovom da sam napisao ispravno kod koji si mi savjetovao.
Evo koda:
Try
If dbDatumPolaganja.Rows(0)("datum_ispita") = "0000-00-00" Then
frm_studenti.txt_datumIspita.Text = ""
Else
frm_studenti.txt_datumIspita.Text = dbDatumPolaganja.Rows(0)("datum_ispita").ToString
End If

Catch ex As Exception
MessageBox.Show("Greška u čitanju iz baze", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try


DTP nema defaultnu vrijednost, bar koliko sam ja skontao. Može se postaviti minimalna (1.1.1753.) i maksimalna vrijednost. Mislim, po defaultu on uvijek ima označenu trenutnu vrijednost, vrijednost današnjeg dana. Možda sam zaboravio napomenuti prilikom pucanja aplikacije (kod čitanja) to se dešava prilikom punjenja MySQL Data Adaptera. Tad i pokazuje error: "Type of value has a mismatch with column typeCouldn't store <1.1.0001 0:00:00> in datum_ispita Column. Expected type is MySqlDateTime."


Vrh
 Profil  
 
PostPoslato: 20 Dec 2016, 12:17 
OffLine
Bič božji
Bič božji
Korisnikov avatar

Pridružio se: 16 Jul 2004, 12:09
Postovi: 10379
Daj ConnectionString da vidimo

_________________
Viva Elena, Viva Nicolae!


Vrh
 Profil  
 
PostPoslato: 21 Dec 2016, 22:17 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 09 Jul 2005, 15:20
Postovi: 462
Lokacija: Banja Luka
Izvinjavam se na svojoj pasivnosti i ne provjeravanja topica...

Elem, ConnectionString glasi: MySqlConn.ConnectionString = "Server = localhost; User Id = root; Password = herc; Database = studenti; Convert Zero Datetime=True; Allow Zero Datetime=True"


Vrh
 Profil  
 
PostPoslato: 22 Dec 2016, 08:17 
OffLine
Bič božji
Bič božji
Korisnikov avatar

Pridružio se: 16 Jul 2004, 12:09
Postovi: 10379
Izbaci Allow Zero Datetime=True. Ili Convert Zero Datetime=True.

_________________
Viva Elena, Viva Nicolae!


Vrh
 Profil  
 
PostPoslato: 22 Dec 2016, 11:57 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 09 Jul 2005, 15:20
Postovi: 462
Lokacija: Banja Luka
MuškoBre, Srebrenka, daj mi adresu omiljene ti kafane da ti uplatim pivo! Izbacio sam Convert Zero Datetime=True i sve šljaka kako treba. Ne znam kako da ti zahvalim. Već deset dana razbijam glavu kako da riješim ovo. Pronalazim neka rješenja po netu koja su trenutno van mog opsega znanja.

Hvala ti do neba!


Vrh
 Profil  
 
PostPoslato: 22 Dec 2016, 12:20 
OffLine
Bič božji
Bič božji
Korisnikov avatar

Pridružio se: 16 Jul 2004, 12:09
Postovi: 10379
:wink:

_________________
Viva Elena, Viva Nicolae!


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 8 Posta ] 

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 5 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs