View Full Version : [vb6 + mysql] non riesco ad inserire alcune stringhe
RaouL_BennetH
15-05-2005, 14:05
Ho un problema che non sono riuscito ancora ad indentificare:
ho in una tabella, un campo "cognome" come varchar(50):
Se provo ad inserire un cognome con l'apostrofo, ad es.: d'ambrosio, non lo accetta. C'è bisogno di qualche settaggio particolare per fargli accettare caratteri come: ' " @ % . ?
Thx..
RaouL.
RaouL_BennetH
15-05-2005, 14:45
dimenticavo di dire che ho il problema con visual basic:
il contenuto del campo lo recupero così:
INSERT INTO tblrubrica(Cognome) .....
VALUES (' " & TextBox(0).Text & " ' )
anonimizzato
15-05-2005, 16:24
Nessun settaggio particolare ma è fondamentale che venga fatto l'escaping dei caratteri speciali come ', il valore stringa che deve essere immesso tramite query quindi deve essere per esempio d\'Ambrosio.
RaouL_BennetH
15-05-2005, 16:36
Nessun settaggio particolare ma è fondamentale che venga fatto l'escaping dei caratteri speciali come ', il valore stringa che deve essere immesso tramite query quindi deve essere per esempio d\'Ambrosio.
L'avevo letto infatti, ma non ho capito come usarlo all'interno del codice. :(
Usi PHP ? In tal caso potresti usare la funzione htmlentities...
RaouL_BennetH
15-05-2005, 16:52
Usi PHP ? In tal caso potresti usare la funzione htmlentities...
No, è da visual basic, il comando che uso per inserire i dati è quello postato più su :(
Fai una funzione simile in VB...
RaouL_BennetH
15-05-2005, 17:40
Fai una funzione simile in VB...
:mbe: :cry:
Il php non lo conosco proprio.
Il problema è che non riesco ad immaginare come dire alla sql di inserire il contenuto di textbox trattando un apice o la @ in maniera particolare.
Te l'ho detto...fai una funzione equivalente alla htmlentities di php in VB, manipolando il testo prima di inserirlo nella query...
anonimizzato
15-05-2005, 17:50
Non conosco affatto VB ma mi sembra strano che non esista una funzione simile ad ADDSLASHES o HTMLENTITIES di Php.
RaouL_BennetH
15-05-2005, 18:14
Vi ringrazio per i suggerimenti, ma lascio perdere, purtroppo non ci arrivo.
Thx.
RaouL.
Vi ringrazio per i suggerimenti, ma lascio perdere, purtroppo non ci arrivo.
Ma è facile...basta fare una sostituzione di stringhe !!!
RaouL_BennetH
15-05-2005, 18:42
Ma è facile...basta fare una sostituzione di stringhe !!!
Il problema per il quale non riesco ad immaginare la soluzione, è dovuto al fatto che, tutte le textbox, sono in realtà un'unica matrice. Le textbox hanno quindi l'indice: textbox(0), textbox(1) e così via.
Non riesco proprio ad immaginare come impostare un controllo solo per tutte che dica:
se in textbox(0).....fino a textbox(32), mi trovi un ' oppure una @ oppure un \, piazzaci davanti un altro \ così che quel dannato mysql non rompa gli zebedei e si prenda in pasto i dati senza fare storie.
Quello che stavo pensando a livello di codice, è + o - questo:
Dim S as Integer
for S = 0 to 32
if Instr(TextBox(S).text) 'e qui non riesco più a scrivere codice.....
aggiungi il carattere \ ai caratteri rognosi...
Next S
RaouL_BennetH
15-05-2005, 20:05
:cry: ma non riesco nemmeno a trovare niente in rete!! manco un link, una cosa qualsiasi :cry:
RaouL_BennetH
15-05-2005, 22:40
Prima un piccolo OT:
Volevo segnalare che modificando il titolo del post, la modifica non viene visualizzata .
Secondo:
Ho girato google in lungo e in largo, non ho trovato niente, possibile che nessuno mai ha avuto questo problema da gestire da visual basic?
RaouL_BennetH
16-05-2005, 00:35
piccolo passo avanti, ma non mi piace per niente:
if instr(textbox(0).text, " ' " ) Then
textbox(0).text = Replace(textbox(0).text, " ' ", " \' ")
End if
Funziona, il fatto è che non mi piace e non credo sia la soluzione più efficiente, anche considerando il fatto che, dato che ho 32 textbox (ma sono una matrice di controlli), dovrei farmi il controllo per ogni textbox(i).
Ho girato google in lungo e in largo, non ho trovato niente, possibile che nessuno mai ha avuto questo problema da gestire da visual basic?
E' normale, dopo tot minuti dall'apertura gli utenti non possono più cambiare titolo, ma solo i moderatori...
RaouL_BennetH
16-05-2005, 10:33
E' normale, dopo tot minuti dall'apertura gli utenti non possono più cambiare titolo, ma solo i moderatori...
Ok, thx :)
Cmq, ci ho messo tutta la notte, ma ho risolto nel modo che ho indicato su.
RaouL.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.