Newsgroup: it.lavoro.professioni.webmaster
Titolo: Errore di compilazione - asp

Ciao a tutti:
"
Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto
1.
aggiungicorso_3.asp, line 87
"
In una pagina asp con istruzione update:
sql="UPDATE CORSI SET F_DOCENTE1='" & fdoc1 &"',"
sql=sql & "DOCENTE1='" & doc1 &"',"
sql=sql & "F_DOCENTE2='" & fdoc2 &"',"
sql=sql & "DOCENTE2='" & doc2 &"',"
sql=sql & "TUTOR='" & tutor &"',"
sql=sql & "F_STAGE='" & fst &"',"
sql=sql & "H_STAGE='" & hstage &"',"
sql=sql & "AZ_STAGE='" & azstage &"',"
sql=sql & "F_TUTOR='" & ftut &"',"
sql=sql & "F_EVENTI='" & fev &"',"
sql=sql & "F_LINK='" & flink &"',"
sql=sql & "F_OBIETTIVI='" & fob &"',"
sql=sql & "F_NOTE='" & fnote &"'"
sql=sql & "WHERE COD="
sql=sql & cod
ret=db.execute(sql)
dove vengono aggiornati solo alcune colonne di una riga di una tabella dove
il codice(univoco) corrisponde a quello passato "cod".
Per favore aiutatemi che ne sto uscendo pazzo, sicuramente sarà una
stronzata

 stronzata
credo proprio che lo sia, ti ha gia risposto lbo
sicuramente hai sbagliato a scrivere il nome di un campo.
Ti consiglio un sistema a prova di errore (o quasi): prova sempre le query 
nella riga di comando del db così vedi se ci sono errori ..
ciao
MG

 MG


Prima della riga in cui fai l'execute aggiungi:
Response.write sql
Response.end
In questo modo immediatamente prima di eseguire l'istruzione incriminata, il
programma ti visualizza l'istruzione SQL che dovrebbe eseguire e si
interrompe.
A questo punto a video hai l'istruzione SQL, la selezioni, fai click con il
pulsante destro e scegli copia. Apri Microsoft Access, apri il database su
cui stai lavorando, selezioni Nuova Query, vai in modalità SQL e richiami la
funzione "Incolla". A questo punto tenti di eseguire l'istruzione ed Access
ti dice dov'è l'errore (o ti aiuta a trovarlo).
Ciao
Alberto

 
mmmmhh, allora dipende dal db !!(non hai scritto cosa stai usando) in asp 
con la connessione dns-less, e anche in php, ti puoi collegare al db che ti 
pare (+ o -), cmq assumo tu stia usando access quindi ti faccio un esempio: 
allora in access vai in query poi fai "crea nuova query in visualizza 
struttura" a questo punto indipendentemente da cio che compare premi 
<cancel>. Dal menů query selezione SQL specifico poi .. definizione dati. 
come per incanto ti si presenterŕ una finestrella bianca tipo notepad e li 
scrivi tutta la tua query la salvi e provi ad eseguirla. Per maggiori 
dettagli ti consiglio un buon libro sul db specifico o qualche tutorial 
online, come di ripiego altrimenti mi sa che rimango l'unico che compra 
ancora i libri !!. Ok ;-) ??
Ciao

 
azz. non ci avevo pensato..... non si finisce mai di imparare =:-)

 ha scritto nel messaggio
news:Xns925FE2EE24E19ga...@62.94.0.8...


 ha scritto nel messaggio
news:aih4eb$ubc$1...@lacerta.tiscalinet.it...


 COD=dsadasd )
L'errore e qui, utilizzi un varchar (testo in acCESS) come se fosse un int
COD='dsadasd' ) dovrebbe fungere.
Cia'
-- 
..::Neo@TheZion::.. & Rotella (CBR 600 F Rosso Blu) Da Campi Bisenzio
www.federicocampoli.com
************************************
ICQ #42292922
Webmaster di 
www.thezion.net
Registered Linux User #277621 - 
http://counter.li.org
************************************

 ha scritto nel
messaggio news:aij13r$148ck7$1...@ID-35431.news.dfncis.de...


 
Dimenticavo una cosa.
Le ASP non hanno la funzione addlslashes di PHP e quindi quando utilizzi un 
campo varchar basta un apostrofo per mandarti in palla tutto.
Tipo se fai SELECT * FROM citta WHERE nomeCitta='l'aquila' di da' errore.
Una soluzione e fare una funzione di replace che ti cambia l'apostrofo in 
due apostrofi, cioe da '  ''.
SELECT * FROM citta WHERE nomeCitta='l''aquila'
Altro consiglio, non usare i join tipici di M$ ma utilizza la sintassi ANSI 
in modo che se un giorno ti viene lo sghiribizzo di passare a MySQL non 
devi star li a riscrivere l'universo.


COD=dsadasd )
i casi sono due: o COD è numerico e allora gli devi passare un numero,
o è stringa e allora mancano gli apici.
inoltre non sarebbe male lasciare qualche spazio tra i segni =, dopo
le virgole ecc..

>Le ASP non hanno la funzione addlslashes di PHP e quindi quando utilizzi un 
vero, purtroppo occorre fare lo sforzo di scriversi da soli qualcosa
tipo questo:
<%
function fTestoSql(t)
	if nz(t, "") = "" then
		fTestoSql = " NULL "
	else
		fTestoSql = "'" & replace(t, "'", "''") & "'"
	end if
end function
%>
e andarlo a mettere in una libreria di funzioni che uno si porti
appresso per i suoi progetti...  terribile, lo so.