- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- tipi di dati non corrispondenti
-
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 182e 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.
-
@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 182e 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
-
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)
-
@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:
-
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?
-
Il campo user_ccexpires è un campo data?
-
si e' un campo Data, infatti avevo contollato anche prima, per non sbagliare
-
Trasformalo in stringa
-
senti mi dici come trasformalo in string? non so farlo, ho iniziato da poche settimane , se puoi ovviamente,, grazie
-
apri il database, aprila tabella users in modalità design (l'icona con la squadra) e converti il campo data in campo testo
Ciao
-
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 181non 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
-
@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?
-
Ti conviene convertire anche il campo user_ccnumber in formato testo
-
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