74 messaggi dal 25 luglio 2001
credo di aver capito....
provo e vi faccio sapere
74 messaggi dal 25 luglio 2001


Niente da fare!
Mi restituisce l'errore:
--------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Driver ODBC Microsoft Access] Tipi di dati non corrispondenti nell'espressione criterio
alla riga "con.Execute sql"
-----------
questo è il preciso codice che scrivo:

[Inizio]

<%
myarray = Session("cart")
Set con = Server.CreateObject("ADODB.Connection")

con.open "Tecnici.dsn"

for i = 0 to UBOUND(myarray)
sql = "INSERT into tbl_tecnici ( tec_nome, tec_cognome," &_
" tec_nascita, tec_societa, tec_dataInizioAutorizzazione," &_
" tec_dataFineAutorizzazione, tec_richiedenteNome," &_
" tec_richiedenteCognome, tec_motivo, tec_note ) values (" &_
"'" & myarray(CARnome,i) & "','" &_
myarray(CARcognome,i) & "','" &_
myarray(CARdatanascita,i) & "','" &_
myarray(CARsocieta,i) & "','" &_
myarray(CARdatainizio,i) & "','" &_
myarray(CARdatafine,i) & "','" &_
myarray(CARnomerichiedente,i) & "','" &_
myarray(CARcognomerichiedente,i) & "','" &_
myarray(CARmotivo,i) & "','" & myarray(CARnote,i) & "')"


con.Execute sql
next

%>

Preciso che la connessione al DB funziona perchè se invece di riempire una array, spedisco i dati del form direttamente (record per record) funziona!

Grazie
879 messaggi dal 09 luglio 2002
www.i-studio.it
Fai un response.write sql e un response.end prima della execute in modo da vedere l'istruzione che stai passando al DB.

Ma sei sicuro che il messaggio fa riferimento proprio alla riga dove c'e' l'execute della insert? Te lo chiedo perche' il messaggio di errore ("Tipi di dati non corrispondenti nell'espressione criterio") sempre piu' un messaggio per una clausola WHERE...

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
74 messaggi dal 25 luglio 2001
ne sono sicurissimo.
Cmq ora faccio la prova che mi dici...
74 messaggi dal 25 luglio 2001
allora ci siamo quasi..

La mia array è:
myarray (9,10)
dove abbiamo

myarray(0,1)
myarray(1,1)
myarray(2,1)
...
myarray(0,2)
myarray(1,2)
myarray(2,2)

e così via però, attraverso il tuo consiglio di provare con una response.write ho notato che si perde il primo campo di array e cioè, si perde:

myarray(0,1)
myarray(0,2)
e così via..
per cui quando tenta di scrivere nel db dichiera che i dati non sono corrispondenti.
Premetto peò che , nella pagina dove si riempie l'array, il valore myarray(0,1) etc. ci sono...

879 messaggi dal 09 luglio 2002
www.i-studio.it
Non capisco una cosa del tuo codice. Tu scrivi:
sql = "INSERT into tbl_tecnici ( tec_nome, tec_cognome," &_
" tec_nascita, tec_societa, tec_dataInizioAutorizzazione," &_
" tec_dataFineAutorizzazione, tec_richiedenteNome," &_
" tec_richiedenteCognome, tec_motivo, tec_note ) values (" &_
"'" & myarray(CARnome,i) & "','" &_
myarray(CARcognome,i) & "','" &_
myarray(CARdatanascita,i) & "','" &_
myarray(CARsocieta,i) & "','" &_
myarray(CARdatainizio,i) & "','" &_
myarray(CARdatafine,i) & "','" &_
myarray(CARnomerichiedente,i) & "','" &_
myarray(CARcognomerichiedente,i) & "','" &_
myarray(CARmotivo,i) & "','" & myarray(CARnote,i) & "')"

ma i vari CARnome, CARcognome, ecc. a cosa corrispondono? Vista la struttura del tuo array non dovresti scrivere qualcosa del genere:

sql = "INSERT into tbl_tecnici ( tec_nome, tec_cognome," &_
" tec_nascita, tec_societa, tec_dataInizioAutorizzazione," &_
" tec_dataFineAutorizzazione, tec_richiedenteNome," &_
" tec_richiedenteCognome, tec_motivo, tec_note ) values (" &_
"'" & myarray(0,i) & "','" &_
myarray(1,i) & "','" &_
myarray(2,i) & "','" &_
myarray(3,i) & "','" &_
myarray(4,i) & "','" &_
myarray(5,i) & "','" &_
myarray(6,i) & "','" &_
myarray(7,i) & "','" &_
myarray(8,i) & "','" & myarray(9,i) & "')" ?

Ciao
Alex


Internetworking Studio Srl
www.i-studio.it
74 messaggi dal 25 luglio 2001
ho sostituito CARnome, CARcognome con 0,1 solo credendo di essere più leggibile.
cmq, nel precedente esempio il campo che si perde è CARnome che corrisponde a 0 del nuovo codice.

ragioniamo con l'ultimo esempio...
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ok. Quando dici che ti perdi il primo campo dell'array intendi che hai la stringa vuota nell'array, giusto? Prova a controllare il momento in cui popoli quell'array... puo' essere che usi un contatore che parte da 1 e ti perdi la posizione 0...
Nel caso, posta il codice compresa la parte nella quale popoli l'array.

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.