Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    ASP+sql (problema Date)

    Salve a tutti

    ho un problema con questa stringa di connessione
    (DATABASE ACCESS e ASP )
    codice:
    sql1 = "SELECT * FROM bilancio WHERE ([data] >= #" & DAdata & "#) and ([data] <= #" & Adata & "#) ORDER BY data"
    codice:
    sql="SELECT * FROM bilancio WHERE [data] BETWEEN #" & DAdata & "# AND #" & Adata & "#"


    premettendo che il campo data è DATETIME general date e le variabili Dadata e Adata sono convertite con CDate.

    mi da errore Type mismatch sia sulla prima che sulla seconda
    (fanno la stessa cosa)

    Dove sbaglio?

  2. #2

  3. #3
    e no.. ho provato in tutti i modi
    con e senza CDate
    con e senza # (ho messo gli apici)

    ho convertito in tutti i modi...

    non me le prende..

    quali possono essere le cause?

  4. #4
    ti da' sempre Type Mismatch? fatti stampare la stringa sql a video, e postala, che gli si da' un'occhiata

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Io di solito quando ho problemi con le date risolvo stampandomi la sql a video. Poi faccio la stessa query nel db e la confronto con quella che ho a video.

  6. #6
    ok

    ho reso la stringa piu' semplice vorre capire il l'errore

    codice:
    SELECT * FROM bilancio WHERE data >= '10/10/2003'
    
    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
    
    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
    
    /deasuite/suite_m.asp, line 4126




    completa mi da lo stesso errore

    codice:
    SELECT * FROM bilancio WHERE (data >= '10/10/2003') and (data <= '10/10/2012') ORDER BY data
    
    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
    
    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
    
    /deasuite/suite_m.asp, line 4126


    mentre se al posto degli apici metto il cancelletto come credo giusto che sia dato che è un database access mi da type mismatch :

    codice:
    SELECT * FROM bilancio WHERE (data >= #10/10/2003#) and (data <= #10/10/2012#) ORDER BY data
    
    Microsoft VBScript runtime error '800a000d'
    
    Type mismatch
    
    /deasuite/suite_m.asp, line 4136

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    28
    prova a scrivere :

    SELECT * FROM bilancio WHERE data >= #10/10/2003#

    in questo esempio non serve ma, in generale, se usi
    # la data deve essere espressa come mm/dd/yyyy.
    questo ti evita anche il controllo delle impostazioni
    internazionali.
    fammi sapere.

  8. #8
    e niente.. mi da errore
    codice:
    Microsoft VBScript runtime  error '800a000d'
    
    Type mismatch
    ho provato a cambiare anche il nome del campo "DATA" che in passato mi dava problemi, ma niente... sempre gli stessi errori.


    PS:
    stampando i vari campi del database sempre da asp mi da valori come quelli che inserisco
    10/10/2005
    02/06/2004
    etc!
    La colonna è DATETIME tipo General Date.. non capisco perche non accetta la query....

  9. #9
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Fai così, una volta che hai stampato a video fai un copia ed incolla sul sql di access e vedi cosa ne viene fuori. ( Attenzione: Spesso il problema è dato dall'impostazione del pc dove risiede fisicamente il db....)

  10. #10
    type mismatch mi fa pernsare di più a un problema di codice. puoi postare le righe che ti danno errore?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.