Newsgroup: it.comp.www.asp
Titolo: Error : Parametri insufficienti

L'esecuzione in una pagina Asp di questo codice mi dà il seguense errore :
Microsoft OLE DB Provider for ODBC Drivers errore "80040e10"
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto
1.
Il codice è il seguente :
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Utenti","",""
%>
<%
dim strNome
dim strCognome
strNome=Request.Form("TxtNomeUte")
strCognome=Request.Form("TxtCognome")
    sql = "SELECT TUtenti.Id_Ute, TUtenti.Nome, TUtenti.Cognome FROM TUtenti
where TUtenti.Nome = '" & strNome & "' And TUtenti.Cognome = '" & strcognome
& "';"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
%>
Qualcuno può spiegarmi quale tipo di parametri sono indispensabili ?
Nel senso che non ho capito bene la differenza tra la dichiarazone di
parametri Sql, l'oggetto Parametro in Ado.
Grazie in anticipo.
Ciao.
Linda



Se un nume o un cognome al suo interno ha un apice, ti causa un bel
problemino :-)
Immagina un cognome come "D'Annunzio", lo ritrovi nella queri come:
'D'Annunzio
quindi la parte "Annunzio" non ha significato e rovina la sintassi
della query.
Ciao

 della query.
Giusto. C'è un modo veloce per risolvere questo problema?
--
Giampaolo Bellavite, Milano     E-mail: 
bell...@3nd.it
ICQ: 99999936     Home page: 
http://www.3nd.it/bellavite



Sostituire la singola apice con una doppia singola apice!
Ciao

 Sostituire la singola apice con una doppia singola apice!
E se l'utente D'Annunzio inserisce il suo cognome durante una registrazione,
come faccio a metterlo nel database senza che la query venga rovinata?
Poiché ci saranno altri caratteri che "rovinano" una query SQL, non c'è un
modo per garantirsi l'assenza di errori senza dover fare ogni volta un
controllo (magari usando Replace())?


 ha scritto nel messaggio
news:9n2ggp$4ooo5$1...@ID-66088.news.dfncis.de...


 arizona
Riporto solo per curiosità. Si può utilizzare una proprietà
dell'ADODB.Command, qualcosa di questo tipo insomma:
...
variabile="D'Annunzio"
set cm=server.createobject("adodb.command")
set cm.activeConnection=conn
cm.commandText="Insert into tabella(nome) values(@nome)"
cm.parameters.Append cm.CrateParameter("@nome",variabile)
...
Ma il numero di istruzioni supera qualsiasi comodità di utlizzo che vada al
di là di un semplice:
variabile=replace(variabile,"'","''")
Ciao
--
Andrea Z.

 "Giovanni TB"   ha scritto:

Vi ringrazio per l'aiuto ma il problema si presenta anche in caso di coppia
Nome-Cognome priva di apici e di caratteri particolari.



Questa testata funziona bene, prova tu:
xnome=Replace(xnome,"'","''")
xcognome=Replace(xcognome,"'","''")
qry="SELECT Users.ID, Users.nome, Users.cognome "
qry=qry & "FROM Users "
qry=qry & "WHERE (((Users.nome)='" & xnome & "') AND
((Users.cognome)='" & xcognome & "'));"
Ciao

    rs.Open sql, conn, 3, 3
-- 
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

 Ciao
Grazie,  ciao

 non vado al cinema non faccio sport
OK !
Mi è bastato riutilizzare il tuo codice;  purtroppo ho modificato troppe
volte la stringa sql del mio codice per riuscire a capire con precisione
cosa non funzionava, sicuramente comunque, nella sintassi sql.
Grazie 1000. Ciao