126 messaggi dal 05 agosto 2013
Ho una textbox che contiene una data in formato dd-mm-yyyy e un'altra textbox che contiene l'ora in formato hh:mm.

Avrei bisogno (attraverso un'operazione di insert nel database, parametrizzando i valori, di inserire la data in un campo di tipo date e l'ora in un campo di tipo time.

Inoltre nella tabella dovrei popolare un altro campo che contenga data ed ora insieme, quindi nel formato dd-mm-yyyy hh:mm.

Mi potete aiutare ad ottenere questo risultato?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
puoi usare i metodi DateTime.ParseExact (per il tipo data e data/ora) e TimeSpan.ParseExact (per gli orari) che ti permettono di indicare il preciso formato.

Esempio:
string valoreTextbox1 = "16-02-2019";
string valoreTextbox2 = "13:37";
DateTime data = DateTime.ParseExact(valoreTextbox1, "dd-MM-yyyy", null);
TimeSpan ora = TimeSpan.ParseExact(valoreTextbox2, "hh':'mm", null);
DateTime dataOra = data.Add(ora);


Lo puoi vedere funzionare in questo fiddle.
https://dotnetfiddle.net/Et33uT

Le variabili data, ora e dataOra che hai ottenuto in questo modo, aggiungile come parametri al tuo SqlCommand. Sai come fare?

ciao,
Moreno
Modificato da BrightSoul il 16 febbraio 2019 13:38 -

Enjoy learning and just keep making
126 messaggi dal 05 agosto 2013
Grazie. Funziona perfettamente. Ho dovuto solamente cambiare la sintassi per il visual basic
126 messaggi dal 05 agosto 2013
Ora il problema è il seguente:
ho il seguente codice
Data.Text = DateTime.Now.Date.ToString
Dim DataGiorno As Date = Date.ParseExact(Data.Text, "dd/MM/yyyy", Nothing)
Mi aspettavo che data.text contenesse solo la data odierna, senza ore e minuti. Invece contiene pure l'ora e i minuti.
Inoltre mi aspettavo che datagiorno contenesse solo la data in formata date. invece contiene 01/01/0001 12:00 AM.
In realtà io voglio solo che data data odierna venga esprapolata solo la data senza ore e minuti per poter fare un select in una tabella.
Spreo di essere stato chiaro nella mia richiesta
333 messaggi dal 05 novembre 2012
Ciao,

il tipo Date contiene sia data che ora.

Se vuoi solo la parte data allora fai questo

Data.Text = DateTime.Now.Date.ToString("dd/MM/yyyy")


/Ciao

Alessio
126 messaggi dal 05 agosto 2013
il mio problema è che devo poter confrontare solo la parte data con un campo presente in tabella.
333 messaggi dal 05 novembre 2012
SQL Server DATE == .NET DateTime == SqlDbType.Date

In .net non esiste un tipo data.

Date and Time Data. Buona lettura!

/Ciao
Modificato da scioCoder il 18 febbraio 2019 15:58 -

Alessio
135 messaggi dal 01 febbraio 2017
f.amedeo ha scritto:
il mio problema è che devo poter confrontare solo la parte data con un campo presente in tabella.

Anche se estrapoli dal campo testo solo la data, poi in fase di confronto sul db vai a sbattere lo stesso perchè anche lì la data è memorizzata con ora e minuti. Ci sono almeno tre metodi per risolvere il problema, sto andando a memoria, poichè in passato ci ho sbattuto pure io. Ricordo che c'erano dei comandi SQL appositi, oppure 'pulire' la data , oppure passargli la data compresa dei minuti e secondi 'lordi', cioè ridondanti rispetto a quello che devi cercare.
Ad esempio se ti serve da 1/1/2019 al 31/1/2019 e passi come finale 31-01-2019, non ti prenderà l'ultimo giorno in quanto in realtà sul db ci sarà "31-01-2019-23:59:00" ... nn so se mi sono capito ... ci sono diversi articoli ed esempi sul web a tal fine.

UNSTRING identifier-1 id-2 id-3
DELIMITED BY [ALL] OR [ALL] literal-1 lit-2
INTO {id-4 [DELIMITER IN id-5]
[COUNT IN id-6]}
[WITH POINTER id-7]
[TALLYING IN id-8]
[ON OVERFLOW imperative-statement-1]
[NOT ON OVERFLOW imper-2]
[END-UNSTRING]

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.