sql >> Base de Datos >  >> RDS >> Mysql

mysql_real_escape_string() en .NET Framework

¿Por qué quieres hacer eso? La forma correcta de enviar la entrada del usuario a la base de datos no es escapar de ella, sino usar parámetros de consulta .

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();
}

Esto proporciona un mejor rendimiento, porque el texto de la consulta siempre es el mismo, por lo que el plan de ejecución de la consulta se puede almacenar en caché. Esto también lo protege contra ataques de inyección SQL. Y también le permite ignorar los problemas de formato de datos (por ejemplo, ¿cómo se formatea un DateTime en SQL-Server? ¿Cómo debe representar un número en SQL? y así sucesivamente)