Converitre da string a datetime

giovedì 01 giugno 2006 - 11.12

M@LKAV Profilo | Junior Member

giorno a tutti sto sbattendo la testa contro una cosa a cui non riesco a trovare rimedio spiego bene

ho un oggetto autista con proprieta DataNascita
quando vado a creare un nuovo oggetto autista e aggiungo anche un record in una tabella
il problema e che mi da sempre errore di cast quando metto una data da una textbox
posto il codice qua sotto

?????

Diim agente as new autista
dim ag as new collautisti

agente.nome = textbox1.text
agente.cognome = textbox2.text
agente.datanascita = textbox4.text
aug.add

?????




????????
Public Sub Add (agente as autista)
list.add(agente)
sql.query = "insert into agenti (nome,cognome,datanscita) Value ('" + agente.nome+ "','" + agente.cognome + "','" + agente.datanascita + "')"
sql.executequery
??????


il mio problema e che se non metto nulla nella textbox3 mi da errore eppure io sul sql ho impostato che la data puoi essere vuota....HELP!!!!!!!ME!!!!!!!!!!!
grazie

blood Profilo | Senior Member

Puoi mettere al validating dell'oggetto in cui inserisci la data (TextBox o quello che sia) la funzione ToShortDateString oppure ToLongDateString a seconda della tua necessità, dopo averti precedentemente dichiarato ed istanziato un oggetto DateTime, gli assegni il testo e lo converti a tuo piacimento :)
Ecco un esempio:

Private Sub txtbox_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtbox.Validated
Try
Dim d As New System.DateTime
d = Me.txtbox.Text
Me.txtbox.Text = d.ToShortDateString
Catch ex As Exception
MsgBox("Attenzione, formato di data non valido", MsgBoxStyle.Critical, "ERRORE")
End Try
End Sub

Potresti anche usare il Format (vedi aiuto in linea), ma questa soluzione è sicuramente più semplice da capire e da applicare ;)

Ciao, Paolo.

M@LKAV Profilo | Junior Member

oj grazie il mio problema ora e un altro
se non inserisco niente nella textbox mi da errore
ma un valore datetime puo essere null???

blood Profilo | Senior Member

beh certo...penso che risolvi aggiungendo subito dopo il Try il seguente controllo:

If Me.txtbox.text <> "" Then

... esegui istruzioni

Else

Messagebox.show( ... inserire una data ... )

End If

filippo.monti Profilo | Junior Member

In fase di creazione del'oggetto autista puoi impostare la data a Date.MinValue e poi testare tale valore prima di inserirlo nel DB.

Ciao

Filippo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5