Newsgroup: it.comp.www.asp
Titolo: Mistero fixQuotes con il request.Form

Mi sto inc****** come una biscia, non capisco per quale diavolo di motivo mi 
dia sempre errore di "Tipo non corrispondente: 'fixQuotes'"
Ho un'istruzione sql che deve inserire dei valori e scritta in questo modo 
mi dà errore eppure non capisco dove diavolo sia questo errore (dategli 
un'occhiata per favore)
Se tolgo i fixQuotes e lascio solo i request.form funziona ma ovviamente non 
posso inserire nel database parole composte da apostrofo e per me è 
fondamentale.
Eccola:
sql="INSERT INTO tipoconsole (nomeconsole, logo, news, recensioni, 
anteprime, trucchi) VALUES 
('"&fixQuotes(request.Form("nomeconsole"))&"','"&fixQuotes(request.Form("logo"))&"', 
"&fixQuotes(request.Form("news"))&", 
"&fixQuotes(request.Form("recensioni"))&", 
"&fixQuotes(request.Form("anteprime"))&", 
"&fixQuotes(request.Form("trucchi"))&")"
Ovviamente su questa mail la vedete andare a capo a caso in realtà (non mi 
sputate addosso ^_^) è scritta su una riga unica
Importante: nel database i campi nomeconsole e logo sono normali campi di 
testo mentre gli altri quattro (news, recensioni, anteprime e trucchi) sono 
campi SI/NO

 dia sempre errore di "Tipo non corrispondente: 'fixQuotes'"
[CUT]
Hai dimenticato di fornirci una info importante: cosa fa la function
fixQuotes(par)?
Non è un metodo standard né di jscript né (che mi risulti) di vbscript, né
(sempre che mi risulti) integrata in php, quindi dovrai avere la tua
function ...
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 fixQuotes(par)?
Un'altra cosa: ho visto che hai messo le virgolette solo per i primi 2
campi. Vuol dire che tutti gli altri sono numerici? Ma in tal caso a cosa
ti serve questo fixQuotes (che immagino raddoppi gli apici)?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 ti serve questo fixQuotes (che immagino raddoppi gli apici)?
In effetti hai ragione, sugli ultimi quattro non serve, perň il problema
si presenta con i primi due,
questo č il pezzo che non vi ho detto
FUNCTION fixQuotes (theString )
   fixQuotes = REPLACE( theString, "'", "''" )
   END FUNCTION
Il problema č che ora non mi dice piů tipo non corrispondente fixquotes,
va a scriverlo nel database ma omette ancora tutto ciň che c'č 
dall'apostrofo
in poi, per esempio se invio la parola "un'altra"  nel database si scrive
soltanto "un"   e sparisce il resto, come diavolo faccio
ad inviargli tutto?
Mi sembra talmente assurdo che non si riesca 

 ad inviargli tutto?
Hai provato a stampare la risultante (Response.Write(sql))? Cosa hai
ottenuto?


 ottenuto?
Ho provato ora
innanzitutto all'inizio del documento ho incollato questa funzione definendo 
pure
il valore ricevuto dal form in una variabile chiamata console
<%
FUNCTION fixQuotes ( theString )
fixQuotes = REPLACE( theString, "'", "''" )
END FUNCTION
console = TRIM( Request.Form("nomeconsole") )
%>
L'sql invece (di prova, ho cominciato con un solo valore ovviamente)
Sql =" INSERT INTO tipoconsole (nomeconsole) VALUES('"& fixQuotes( console ) 
&"')"
Allora il nome del campo del database è nomeconsole mentre nel campo di 
testo
del modulo della pagina precedente cui ho dato il nome "nomeconsole" ho 
inserito
la parola     un'altra    il risultato dalla prova che mi hai suggerito 
effettivamente
è la parola troncata sulla N come puoi vedere tu stesso qui sotto, boh!!!
INSERT INTO tipoconsole (nomeconsole) VALUES('un') 

 console = TRIM( Request.Form("nomeconsole") )
E hai fatto un response.write qua per verificare il valore di console? Hai
provato a restituire il valore stesso per vedere se gli arriva corretto?
Quanto dici IMHO non ha senso, c'č un altro errore in giro ma dire quale da
queste 2 righe č ardua...
A meno che io non ricordi malissimo (vbscript non lo uso da 10 anni) č
corretto raddoppiare gli apici, quindi a me sembra proprio che queste 2
righe siano giuste.
Se fai un veloce debug con un po' di Response.Write scritti nei punti
giusti dovresti trovare velocemente dove sta l'inghippo...
Se vuoi esagerare sostituisci il replace sopra con
replace(theString,"'","`"); //io quando non usavo i parametri usavo `
(alt-96 in sistemi windows) come sostituzione a ' cosě sei sicuro che non
sta qua il problema.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 sta qua il problema.
In effetti il problema si č risolto con quest'ultimo modo che mi hai
suggerito, resto del parere che č assolutamente inspiegabile che
la mia FUNCTION non funzioni eppure usando l'apostrofo alt-96
si inserisce correttamente, ti ringrazio :-)