Pagina 1 di 12 1 2 3 11 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 111

Discussione: [VB.NET] Errore SQL.

  1. #1

    [VB.NET] Errore SQL.

    Ciao a tutti.
    Ho un problema con una stringa di SELECT.
    Sul form ho due controlli DateTimePicker: DTPDal e DTPAl.
    Via codice imposto una Select che sul vecchio progetto in VB6 era ok, e ora, in .NET non funziona.

    codice:
    miaSQL = "SELECT Sum(TBScadenzario.Parziale) as SommaParziale " & _
             "FROM TBScadenzario INNER JOIN TBFatture ON " & _
             "TBScadenzario.IDFattura = TBFatture.IDFattura "
             "WHERE tbscadenzario.datascadenza between #" & Format" & _
             "(DTPDal.Value, "MM/DD/YYYY") & "# and #" & Format" & _
             "(DTPAl.Value, "MM/DD/YYYY") & "#"
    quando faccio partire il progetto lui legge le date contenute in DTPDal e DTPAl, ma quando va a fare la select mi ritrovo un valore tipo 09/DD/YYYY e quindi mi genera errore.

    help please! che non ci sto capendo nulla!


    grazie a tutti.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    non usare il format e togli pure il #, metti CDate(DTPDal.Value) e prova così...

  3. #3
    ma guarda chi c'è! Raoul...

    ho provato, dark, ma mi genera questo errore:
    "Informazioni aggiuntive: Errore di sintassi (operatore mancante) nell'espressione della query '(TBScadenzario.Pagato = True) AND tbscadenzario.datascadenza between 02/09/2002 11.44.06 AND 02/09/2002 11.44.06'."






    PS: grazie, mi aiuti sempre tu...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    allora, devi verificare:

    - il formato restituito dal DTPicker (mi sembra che sia gg/mm/aaaa)

    - il formato restituito dalla CDate (dovrebbe essere mm/gg/aaaa)

    - il formato gestito da SQL

    Si tratta di passare le data nel foprmato corretto, se fai qualche prova dovresti riuscirci.

    Al limite usa DTPDal.Day, DTPDal.Month e DTPDal.Year per ricomporti la data in una stringa a seconda del formato che ti serve.


    A me è capitato di imbattermi in un errore causato da una formattazione che mi rovesciava la data anche se io la passavo correttamente.

  5. #5
    i controlli della data restituiscono entrambi questo:
    02/09/2002 12.14.21

    il cdate sui controlli restituisce quello che ti ho appena scritto.

    il record invece non posso leggerlo perchè non mi permette di aprirlo, mi si genera errore sull'sql.
    :master:

    ah, in vb.net non esiste DTPDal.Day/Month/Year... ti attacchi!!!

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    :master: qualcosa non mi quadra.....

    hai provato ad effettuare una query secca con il between sensa la inner join? Non vorrei ci fosse un problema di altra natura...

    Prova a fare la select con il between sulla tabella singola e vedi se si tratta effettivamente di un problema di date e poi vediamo...


  7. #7
    ok, ora provo tesorino.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    ho fatto come mi hai detto. ecco l'errore:
    "Informazioni aggiuntive: Errore di sintassi (operatore mancante) nell'espressione della query 'tbscadenzario.datascadenza between 02/09/2002 12.49.32 AND 02/09/2002 12.49.32'."

    lo genera sull'istruzione:
    RSParz.Open(miaSQL, miaConn, 1, 3)

    dove

    mioFiltro = "tbscadenzario.datascadenza between " & CDate & _
    "(DTPDal.Value) & " AND " & CDate(DTPAl.Value) & ""
    miaSQL="SELECT datascadenza FROM TBScadenzario WHERE "
    miaSQL = miaSQL & mioFiltro

    :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    uhmmmmmmmmm ti restituisce anche un numero di errore? (che va da 1 a 4999)

  10. #10
    no, nessun codice errore.
    guarda l'img allegata, così ti fai un'idea più precisa, please!

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.