Imam jednu formu u C#, na kojoj između ostalog, se treba unijeti(u text box) datum. Taj datum trebam prihvatit u neku varijablu, te onda sa INSERT naredbom unijet u bazu. U bazi mi je datum tipa: ‘date’.
Probao sam dohvatit taj unešeni datum u string varijablu, no ne ide; također sam probao:
DateTime datum = DateTime.Parse(date); //‘date’ mi je tipa string, u koji dohvacam tekst iz textBox-a.
Dobivam errore: “string was not recognized as a valid DateTime”, ili “Conversion failed when converting date/or time from character string”.
Ako netko zna kako rješit, ili neki link.
P.S. ili ako je možda lakše to realizirati na način da se datum izabere iz dateTimePicker-a
Vjerojatno onda ne upisuješ datum u formatu koji funkcija očekuje. Možda su ti Windowsi poštelani na engleski, a ti upisuješ lokalni domaći format ili sl.
Prouči dokumentaciju funkcije i kroz primjere vidi kako da eksplicitno zadaš informaciju o lokalizaciji formata:
Također prouči i ovu alternativnu funkciju koja ti omogućuje da samostalno precizno opišeš format koji će funkcija “parsirati” (ima ilustrativan primjer):
samo moras datum convertat na americ format … ja koristim ovu funkciju
Public Function convertDatumToAmeric(ByVal datum As String) As String
Try
Dim dt As DateTime = DirectCast(DateTime.Parse(datum), DateTime)
Return dt.ToString("MM.dd.yyyy")
Catch
Return "NULL"
End Try
End Function
ako ti ne radi neko od gornjih rješenja,možda griješiš u sql upitu.
INSERT INTO tvoja_tablica (datum_unosa) VALUE (CONVERT (datetime,’"+textbox.text+"’,104)
104 -format za dd.MM.yyyy koji se upotrebljava kod nas
moraš ga parsati u oblik u koji ti je baza naštelovana.