• User

    tipi di dati non corrispondenti

    Ciao a tutti,sto creando un negozio e-commerce dal libro "commercio elettronico con asp". cliccando sul pulsante "add to cart" di un prodotto,mi si apre la pagina di registrazione funzionante dove devo compilare tutti i campi. Una vota compilato i campi e clicco su registrati, mi dovrebbe uscire cart.asp , ma purtroppo mi da questo errore:

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
    [Microsoft][Driver ODBC Microsoft Access] Tipi di dati non corrispondenti nell'espressione criterio.
    /pp/storefuncs.asp, line 182

    e da ieri che provo a controllare il codice ed il data base alla ricerca dell errore ma niente non ci riesco, mi sapete dire dove' che sbaglio.


  • User Attivo

    @Genius said:

    Ciao a tutti,sto creando un negozio e-commerce dal libro "commercio elettronico con asp". cliccando sul pulsante "add to cart" di un prodotto,mi si apre la pagina di registrazione funzionante dove devo compilare tutti i campi. Una vota compilato i campi e clicco su registrati, mi dovrebbe uscire cart.asp , ma purtroppo mi da questo errore:


    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
    [Microsoft][Driver ODBC Microsoft Access] Tipi di dati non corrispondenti nell'espressione criterio.
    /pp/storefuncs.asp, line 182

    e da ieri che provo a controllare il codice ed il data base alla ricerca dell errore ma niente non ci riesco, mi sapete dire dove' che sbaglio.

    Ciao genius,

    cosa c'èè alla riga 182? Riporta il codice così gli diamo un'occhiata 🙂


  • User

    ciao madai, non avevo postato il codice, perche' mi e' stato detto che non potevo.

    cmq l'errore me lo trova nella pagina storefuncs.asp:

     ' Add New User to Database
      sqlString = "INSERT INTO users ( " &_
        "user_username, " &_
        "user_password, " &_
        "user_email," &_
        "user_street, " &_
        "user_city," &_
        "user_state," &_
        "user_zip," &_
        "user_ccnumber, " &_
        "user_cctype, " &_
        "user_ccexpires," &_
        "user_ccname" &_
          ") VALUES ( " &_
        " '" & fixQuotes( newusername ) & "', " &_
        " '" & fixQuotes( newpassword ) & "', " &_
        " '" & fixQuotes( email ) & "', " &_
        " '" & fixQuotes( street ) & "', " &_
        " '" & fixQuotes( city ) & "', " &_
        " '" & fixQuotes( state ) & "', " &_
        " '" & fixQuotes( zip ) & "', " &_
        " " & fixQuotes( ccnumber ) & ", " &_
        " '" & cctype & "', " &_
        " '" & ccexpires & "', " &_
        " '" & fixQuotes( ccname ) & "' " &_
        ")"
    Con.Execute sqlString
    

    Ti ho selezionato in rosso la riga dove mi trova l'errore. (riga 182)


  • User Attivo

    @Genius said:

    ciao madai, non avevo postato il codice, perche' mi e' stato detto che non potevo.

    cmq l'errore me lo trova nella pagina storefuncs.asp:

    > ' Add New User to Database
      sqlString = "INSERT INTO users ( " &_
        "user_username, " &_
        "user_password, " &_
        "user_email," &_
        "user_street, " &_
        "user_city," &_
        "user_state," &_
        "user_zip," &_
        "user_ccnumber, " &_
        "user_cctype, " &_
        "user_ccexpires," &_
        "user_ccname" &_
          ") VALUES ( " &_
        " '" & fixQuotes( newusername ) & "', " &_
        " '" & fixQuotes( newpassword ) & "', " &_
        " '" & fixQuotes( email ) & "', " &_
        " '" & fixQuotes( street ) & "', " &_
        " '" & fixQuotes( city ) & "', " &_
        " '" & fixQuotes( state ) & "', " &_
        " '" & fixQuotes( zip ) & "', " &_
        " " & fixQuotes( ccnumber ) & ", " &_
        " '" & cctype & "', " &_
        " '" & ccexpires & "', " &_
        " '" & fixQuotes( ccname ) & "' " &_
        ")"
    Con.Execute sqlString
    >``` 
    
    Ti ho selezionato in rosso la riga dove mi trova l'errore. (riga 182) 
    In realtà ti è stato detto di non postare intere pagine di codice inutile. In questo caso era necessario postare solo la porzione di codice relativa all'errore.
    
    Ma veniamo a noi.
    
    Per avere chiara la situazione ovvero per leggere precisamente cosa sta cercando di fare la query sql che ti restituisce l'errore, devi stamparla a video in questo modo:
    
    

    ...
    Response.Write(sqlString)
    Response.End

    Con.Execute sqlString
    ...

    Così la query sql ti viene stampata a video prima delle sua esecuzione. Leggi attentamente la query alla ricerca di errori. Molto probabilmente stai cercando di inserire un valore nullo o non valido nel campo data user_ccexpires. Ma è solo un'ipotesi. Se non trovi l'errore da solo allora riporta qui la query completa.
    
    Buona regola è anche cercare su un qualsiasi motore la stringa di errore che ti viene restituita. Nel 99% dei casi qualcuno avrà già riscontrato/risolto il tuo stesso errore ;)
    
    Ciao :ciauz:

  • User

    ciao madai, siccome non riesco a trovare l'errore, ti posto la query stampata:

    INSERT INTO users ( user_username, user_password, user_email,user_street, user_city,user_state,user_zip,user_ccnumber, user_cctype, user_ccexpires,user_ccname) VALUES ( 'genius', 'stella', '[email protected]', 'via cabrera 19', 'firenze', 'IT', '00100', 40236004********, '1', '04/10', 'genius' )

    Dove sta' lo sbaglio?


  • User Attivo

    Il campo user_ccexpires è un campo data?


  • User

    si e' un campo Data, infatti avevo contollato anche prima, per non sbagliare


  • User Attivo

    Trasformalo in stringa


  • User

    senti mi dici come trasformalo in string? non so farlo, ho iniziato da poche settimane , se puoi ovviamente,, grazie


  • Moderatore

    apri il database, aprila tabella users in modalità design (l'icona con la squadra) e converti il campo data in campo testo

    Ciao:ciauz:


  • User

    Ciao Legolas, adesso ricevo questo erore qua:

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
    [Microsoft][Driver ODBC Microsoft Access]Valore numerico non compreso nell'intervallo. (null)
    /neg/storefuncs.asp, line 181

    non riesco proprio a capire dove sta l'errore, mi sono controllato tutte le pagine riga per riga , ma niente non riesco a capire

    o anche fatto come da te consigliato di convertire data in testo, ma niente


  • Moderatore

    @Genius said:

    INSERT INTO users ( user_username, user_password, user_email,user_street, user_city,user_state,user_zip,user_ccnumber, user_cctype, user_ccexpires,user_ccname) VALUES ( 'genius', 'stella', '[email protected]', 'via cabrera 19', 'firenze', 'IT', '00100', 40236004********, '1', '04/10', 'genius' )

    Ma il campo user_zip e user_cctype sono di tipo testo o numerico?


  • User Attivo

    Ti conviene convertire anche il campo user_ccnumber in formato testo


  • User

    ciao ragazzi, vi volevo ringrazie per l'aiuto, o risolto cosi:
    ho messo user_id come contatore , cc_expires com data/ora e il resto tutto testo, ed ho modificato questa riga:
    (Response.Cookies( theName ).Expires = now()
    nel pagina storefuncs.asp