Risultati da 1 a 5 di 5

Discussione: Confronto tra date in sql c#

  1. #1
    annalisa è offline Nuovo Iscritto
    Data Registrazione
    Apr 2012
    Messaggi
    1

    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'";

  2. #2
    Vins è offline Moderatore
    Data Registrazione
    Jul 2009
    Messaggi
    133
    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.

  3. #3
    ComputerCommunication è offline Nuovo Iscritto
    Data Registrazione
    Oct 2012
    Messaggi
    5
    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.

  4. #4
    L'avatar di borgo italia
    borgo italia è offline Super Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    11,198
    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

  5. #5
    ComputerCommunication è offline Nuovo Iscritto
    Data Registrazione
    Oct 2012
    Messaggi
    5
    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
  •