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:
codice:
<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>
poi se si preme sul pulsante submit la parte in asp si
incarica di recuperare il valore dal campo checkbox:
codice:
MySQL="Select * from TABELLAPROVA"
Set MyRs=MyConn.Execute(MySQL)
strNames = Request("prova")
MySQL1="Insert INTO TABELLAPROVA ([PROVA]) VALUES ('" & strNames & "')"
Ottengo cosi' una stringa (MySQL1) cosi' composta:
Insert INTO TABELLAPROVA ([PROVA]) VALUES ('true') (prendendo il caso che la chckbox sia spuntata)
che viene passata tramite il comando:
codice:
Set MyRs1=MyConn.Execute(MySQL1)
e poi chiudo:
codice:
MyConn.Close
set MyConn=nothing
Il problema e' che ottengo un errore e quindi c'e' qualcosa che non va' nel procedimento:
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.