Annullare caratteri speciali in comandi SQL

giovedì 24 giugno 2010 - 10.02

CloudStrife91 Profilo | Newbie

Salve a tutti, vi sembrerà impossibile, ma non riesco a trovare il modo di annullare il significato speciale di alcuni caratteri, come ad esempio '
Infatti io ho un comando così:

UPDATE [nome_tabella] SET cognome='" & cognome & "'

ma se cognome, ad esempio, contiene "D'alessandro", il comando risulta non valido, poichè mi dice che c'è un numero dispari di '

alexmed Profilo | Guru

Ciao
Se esegui la query in ambiente VB o C# puoi utilizzare le query parametriche

http://msdn.microsoft.com/it-it/library/cc280502.aspx


UPDATE [nome_tabella] SET cognome='" & cognome & "'

diventa

UPDATE [nome_tabella] SET cognome= @Cognome

command.Parameters.Add("@Cognome", SqlDbType.NVarChar).Value = cognome

L'utilizzo di SqlDbType o OleDbType dipende se usi un database SQL o Access

SQL
http://msdn.microsoft.com/it-it/library/c6tdby40(v=VS.80).aspx
OLE
http://msdn.microsoft.com/it-it/library/system.data.oledb.oledbparameter.aspx

Ciao




alexmed

CloudStrife91 Profilo | Newbie

Ho modificato il comando, ma quando provo a modificare il parametro come mi hai detto tu, non mi trova il metodo Value, e quindi non riesco ad assegnare il valore al parametro

alexmed Profilo | Guru

Ciao
Mi dici solo in quale ambiente lavori e quale database usi?

Ciao

alexmed

CloudStrife91 Profilo | Newbie

si, scusa!

il database, è un database sql, quindi quello che avevi scritto penso fosse giusto, e l'ambiente è visual web developer.

EDIT:

Risolto, il tuo comando era giusto, solo che non si riusciva ad utilizzare con l'oggetto SqlDataSource, se creo connessione e comando da codice funziona tutto!

alexmed Profilo | Guru

Ok
Inoltre hai risolto "inconsapevolmente" ad un altro problema:

http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx

Ciao


PS:
Se hai risolto chiudi il post clikkando su accetta.
alexmed
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5