-
Confronto tra date in sql c#
Salve avrei un problema a riportare una query sql funzionante in access in asp.net. 'dataInizio' e 'dataFine' sono nomi di colonne della tabella Prenotazione; praticamente quando apro il datareader è vuoto come mai visto che la sintassi non genera errori?
DateTime d = new DateTime();
d = Convert.ToDateTime(txtData.Text);
int codst;
codst = Convert.ToInt32(txtCodStab.Text);
string q = "SELECT nome, cognome, nomeStabilimento, numOmbrellone FROM Ombrellone, Stabilimento, Relativa_A_Omb,Cliente,Prenotazione WHERE Cliente.CF = Prenotazione.CF AND Ombrellone.codOmbrellone = Relativa_A_Omb.codOmbrellone AND Stabilimento.codStabilimento = Ombrellone.codStabilimento AND Relativa_A_Omb.codPrenotazione=Prenotazione.codPre notazione AND Stabilimento.codStabilimento=" + codst + "AND '" + d + "' BETWEEN 'dataInizio' AND 'dataFine'";
-
Ciao,
se la sintassi non genera errore probabilmente è sbagliata qualche condizione di join ma io non conosco i dati quindi non posso dirti quale.
Ti consiglio di eseguire la query incrementalmente, prima su una tabella sola, poi su due e così via fino ad individuare dov'è il problema.
-
a occhio mi sembra che qui
BETWEEN 'dataInizio' AND 'dataFine'";
sia sbagliata....mettendo gli apici stai considerando "dataInizio" e "dataFine" come del semplice testo, quindi stai confrontando una data con del testo....se togli gli apici fai riferimento ai campi del database e dovrebbe funzionare.
Ciao.
-
ciao
non conosco sql c#, ma a lume di naso:
betwen cosa?
in php+mysql
WHERE.... AND data BETWEEN 'dataInizio' AND 'dataFine'
unico accorgimento è che le date siano o in timestamp o scritte nel formato YYYY mm dd (2012 10 31) a parte i separatori perche se scritte in "italiano" es.
WHERE.... AND data BETWEEN '31/09/2012' AND '02/10/2012' (betwn confronta anche le stringhe) per cui un caos
-
in mysql o MSSQL il BETWEEN può funzionare....o in questo modo:
'valore' BETWEEN campo1 AND campo2
oppure:
campo BETWEEN 'VALORE1' AND 'VALORE2'
Considerando che Annalisa ha detto che 'dataFine' e 'dataInizio' sono due campi di una tabella andrebbero inseriti nella query senza apice (')
Permessi di Scrittura
- Tu non puoi inviare nuove discussioni
- Tu non puoi inviare risposte
- Tu non puoi inviare allegati
- Tu non puoi modificare i tuoi messaggi
-
Regole del Forum