27 messaggi dal 07 luglio 2008
Ciao a tutti

Ho una textbox con id="txtOra" che contiene un orario digitato dall'utente es.: 15:00 oppure potrebbe essere lasciata vuota.

poi devo mettere una variabile che ne contiene il valore es.:
Dim xOrario as ???? = txtOra.text

Che tipo devo assegnare alla variabile tenendo presente che poi verrà utilizzata per valorizzare un campo database (sql server) di tipo time(0)?

Grazie a tutti per l'aiuto
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
dovresti usare il tipo TimeSpan, si tratta di una struttura che rappresenta un intervallo di tempo.
Prova così:
'Il valore di default di xOrario sarà 00:00
Dim xOrario As TimeSpan
'Se l'utente ha fornito un valore, allora provo a convertirlo
If Not String.IsNullOrWhiteSpace(txtOra.Text) Then
  'Uso TryParseExact per convertire il valore di txtOra.Text in TimeSpan
  If Not TimeSpan.TryParseExact(txtOra.Text, "hh':'mm", Nothing, xOrario) Then
    'Se non ci sono riuscito, vuol dire che l'input non era valido e perciò lancio un errore
    Throw New Exception("Attenzione, non è stato possibile convertire il valore in un orario valido")
  End If
End If
'Qui il codice che usa xOrario per aggiornare il database

Attenzione perché TimeSpan è un value type. Se l'utente non dovesse fornire alcun valore, nel DB potresti leggere 00:00. In quel caso potrebbe essere più opportuno inserire null, ammesso che il tuo campo accetti valori null.

Nell'esempio non l'ho messo, ma se il parsing va a buon fine dovresti anche controllare che il valore sia compreso tra 00:00 e 24:00 (escluso).

ciao
Modificato da BrightSoul il 14 marzo 2013 23.36 -

Enjoy learning and just keep making
27 messaggi dal 07 luglio 2008
Grazie mille per la risposta.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.