Ho semplificato una pagina asp piuttosto complessa per esporre il
mio problema in maniera semplice ed intuitiva:
Ho creato un DB Access DBPROVA con due campi:
Nome Tipo
ID Contatore
Prova SI/NO
Poi ho creato una pagina asp che ne aggiorna il contenuto:
Prima visualizza un form:
poi se si preme sul pulsante submit la parte in asp sicodice:<form action="prova.asp?mode=AddItemAction" method="post" id=form1 name=form1> <input type="checkbox" name="prova" value="true"> <input name="Submit" type=submit value="Submit"> <input name="reset" type=reset value="Reset"></form>
incarica di recuperare il valore dal campo checkbox:
Ottengo cosi' una stringa (MySQL1) cosi' composta:codice:MySQL="Select * from TABELLAPROVA" Set MyRs=MyConn.Execute(MySQL) strNames = Request("prova") MySQL1="Insert INTO TABELLAPROVA ([PROVA]) VALUES ('" & strNames & "')"
Insert INTO TABELLAPROVA ([PROVA]) VALUES ('true') (prendendo il caso che la chckbox sia spuntata)
che viene passata tramite il comando:
e poi chiudo:codice:Set MyRs1=MyConn.Execute(MySQL1)
Il problema e' che ottengo un errore e quindi c'e' qualcosa che non va' nel procedimento:codice:MyConn.Close set MyConn=nothing
L'errore, se lo eseguo da internet e':
HTTP 500 - Errore interno del server
Internet Explorer
Se invece lo eseguo in locale su IIS ottengo:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Driver ODBC Microsoft Access] Tipi di dati non corrispondenti nell'espressione criterio.
/ris/dwnlarea.asp, line ...
POST Data:
Prova=true&Submit=Submit
Probabilmente non riesco a mandare l'esatto parametro nel campo del DB perche' se invece del checkbox utilizzo un campo testo tutto funziona a meraviglia, quindi penso che il problema sia che il campo non accetta il valore true .
E' una mia ipotesi...
Forse qualcuno mi puo' aiutare.
Grazie mille.

Rispondi quotando