Mysql
 sql >> Database >  >> RDS >> Mysql

mysql_real_escape_string() in .NET Framework

Perché vuoi farlo? Il modo corretto per inviare l'input dell'utente al database non consiste nell'evitarlo, ma nell'usare parametri della query .

using(var command = new SqlCommand("insert into MyTable(X, Y) values(@x, @y)", connection))
{
    command.Parameters.Add("@x", textBoxX.Text);
    command.Parameters.Add("@y", textBoxY.Text);
    command.ExecuteNonQuery();
}

Ciò fornisce prestazioni migliori, perché il testo della query è sempre lo stesso, quindi il piano di esecuzione della query può essere memorizzato nella cache. Questo ti protegge anche dagli attacchi di SQL injection. E ti consente anche di ignorare i problemi di formattazione dei dati (ad es. come viene formattato un DateTime in SQL-Server? Come dovresti rappresentare un numero in SQL? e così via)