33 messaggi dal 28 aprile 2003
HòLA !!!
HO UN PROBLEMA CHE NN RIESCO A RISOLVERE, DEVO INVIARE DEI DATI IN UN db E QUESTI SONO CAMPI DI TESTO COMPILATI DAI CANDIATI.. IL FATTO è CHE USANDO UNA PAGINA DI FORM CON UN SEMPLICE "INSERT INTO CURRICULUM...." QUANDO UN CANDIDATO METTE L'APOSTROFO O SINGOLO APICE NELLA STRINGA, MI INTERROMPE LA MIA SEQUENZA DI INSERT... GIUSTAMENTE POI MI VIEN DATO UN ERRORE DI FORMATTAZIONE DELLA SEQUENZA CHE NN RIESCO A GESTIRE... COME POSSO FARE A CONTROLLARE LA STRINGA E COME POSSO FARE IN MODO KE NN MI DIA ERRORI IN CASO UNO INSERISCA I CANDIDATI!??!? GRAZIE!!!
3.122 messaggi dal 16 maggio 2002
Non urlare per favore.
Che tipo di database stai utilizzando? Per fare in modo che il dbms non veda l'apostrofo come carattere di inizio o terminazione stringa devi formattare la stringa in un certo modo che dipende dal dbms utilizzato. Con Access o SQL Server devi raddoppiare l'apostrofo, per cui devi applicare alla stringa che vai a inserire nella query una funzione del tipo
Replace(valore, "'", "''")
Se invece usi MySql devi anteporre all'apostrofo singolo il carattere di escape \ (backslash), quindi userai la funzione
Replace(valore, "'", "\'")

Ciao.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
33 messaggi dal 28 aprile 2003
cosa intendi x valore? la mia stringa?
anke se nn sarà composta solo da " ' " mi viene trovato lo stesso?!??! cmq grazie!!!
3.122 messaggi dal 16 maggio 2002
Sì, se tu componi il tuo statement sql dinamicamente, devi fare così

sql = "INSERT INTO tabella VALUES ('" & Replace(campo1, "'", "''") & "', '" & Replace(campo1, "'", "''") & "');"

Meglio ancora definire una funzione che formatta il testo

function SQLString(fsql)
SQLString = Replace(fsql, "'", "''")
end function

Per cui dopo scrivi

sql = "INSERT INTO tabella VALUES ('" & SQLString(campo1) & "', '" & SQLString(campo2) & "');"

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
33 messaggi dal 28 aprile 2003
azz andiamo sul difficile... un attimo!!
allora il mio banalissimo codice è:

nella form
<input type="text" name="nome">
nella pagina di controllo
nome=Request.Form("nome")
Replace(nome, " ' ", " ' ' ")
ma nn funziona un cristo...
come faccio a fare sta banalissima stronxata?!?!?... fatto questo ho imparato a pescare e posso mangiare tutti i gg!!!
33 messaggi dal 28 aprile 2003
ma poi... ho provato la storia che hai scritto e nn funge!!!! non so più cosa fare!!!
3.122 messaggi dal 16 maggio 2002
Certo che non funziona. la replace è una funzione, non una subroutine. Quindi ti restituisce un valore, in particolare ti restituisce la stringa che hai dato in ingresso dopo aver apportato le sostituzioni da te indicate negli altri argomenti.
Guarda nella msdn la documentazione sulla funzione Replace.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.