C# - problem kod unosa datuma u bazu

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

Hvala

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:

http://msdn.microsoft.com/en-us/library/9h21f14e(v=vs.90).aspx

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):

http://msdn.microsoft.com/en-us/library/h9b85w22(v=vs.90).aspx

Nisam očekivao ovako brz odgovor :slight_smile: . Hvala ti na linkovima.

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.