Query parametrica

lunedì 06 agosto 2012 - 16.47
Tag Elenco Tags  C#  |  .NET 4.0  |  Visual Studio 2010  |  MySQL 5.0

Gemini Profilo | Expert

Ciao a tutti
ho scritto questa query parametrica perchè avevo problemi con l'apice in una query non parametrica. In pratica sostituivo l'apice singolo con Replace("'","\'") e mi restituiva per esempio "l'ordine" -> "l'ordine" se invece facevo Replace("'","\\'") avevo "l'ordine" -> "l\\'ordine". In entrambi i casi avevo errore nell'eseguire la query.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Non esegue la query. cmd.ExecuteNonQuery() mi restituisce 0.
Dove sbaglio?
Grazie mille

Geronimo79 Profilo | Junior Member

Premesso che non ho capito niente di quello che hai scritto.... per gestire l'apice in una query non parametrica puoi fare così:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Facci sapere.
Un saluto.

Gemini Profilo | Expert

Ciao
a me serve avere nel db l'apice singolo e non 2 apici singoli.
Grazie ugualemente

Mi spiego meglio:
ho questa query: "Update pippo SET nome='" + stringa + "'";
dove stringa = "l'ordine";
allora se faccio
stringa.Replace("'","\'") ottengo sempre stringa="l'ordine"
se faccio
stringa.Replace("'","\\'") ottengo stringa="l\'ordine" e non va bene
Per non aver nessun errore devo avere come risultato: stringa ="l\'ordine".
Per superare questo problema ho provato con una query parametrica, ma non viene eseguita.

Geronimo79 Profilo | Junior Member

Hai provato così ? Deve funzionare anche nel tuo caso...il raddoppio dell'apostrofo è inserito per creare un apostrofo singolo...
"Update pippo SET nome='" & quote( + stringa +) & "'
Oppure stringa.Replace("'","'''")
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5