Problema con aggiornamento record database

sabato 20 aprile 2013 - 12.42
Tag Elenco Tags  VB.NET  |  .NET 4.0

Fapic Profilo | Junior Member

Ciao a tutti,
utilizzando il seguente codice per aggiornare un campo dei un record mi da problemi:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ma se invece di "D'amico" metto "D''amico", e cioè due apostrofi, non mi da errore,
adesso il problema è che la variabile name la vorrei associare ad una textbox, e li non mi sembra bello quando si deve digitare un'apostrofo, digitarne2.

Come posso fare?

grazie

alx_81 Profilo | Guru

>Ciao a tutti,
ciao

>ma se invece di "D'amico" metto "D''amico", e cioè due apostrofi, non mi da errore,
>adesso il problema è che la variabile name la vorrei associare
>ad una textbox, e li non mi sembra bello quando si deve digitare
>un'apostrofo, digitarne2.
eh no, non lo sarebbe. La prima risoluzione è fare tu una replace all'interno della composizione della query, tipo campo.Replace("'", "''").
Però è comunque un workaround e sei esposto a sql injection, visto che la tua è una semplice concatenazione di stringhe.
Per farti una cultura sul problema, leggi questo mio articolo:
http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx

detto questo, ti consiglio di utilizzare le query parametriche. Ovvero quelle query con segnaposto, tipo @param1 ecc, per poi andare ad aggiungere i parametri con i metodi forniti da ADO.Net.
In questo modo sei più ordinato, hai il codice più leggibile e previeni attacchi di tipo sql injection.

>grazie
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5