Tengo un campo de texto y está rompiendo mi instrucción sql. ¿Cómo escapo todos los caracteres en ese campo? Estoy usando SQLite con http://sqlite.phxsoftware.com/ en C#SQL escape con sqlite en C#
Respuesta
Debe utilizar un parámetro como en:
SQLiteCommand cmd = _connection.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM MyTable WHERE MyColumn = @parameter";
cmd.Parameters.Add(new SQLiteParameter("@parameter", textfield));
SQLiteDataReader reader = cmd.ExecuteReader();
El uso de un SQL parametrizado escapará a todos los valores de entrada y ayudará a protegerse de los ataques de inyección SQL.
También puede reemplazar todos los delimitadores de comillas simples con la duda comillas simples (no ").
sql = sql.Replace("'","''");
Este método no es re encomiado, puede conducir a errores extraños. – Palani
No necesariamente. Si construye su SQL y hace que Reemplazar el último paso, todo debería ser bueno. Trabajó por años sin problemas. Uso los bloques de aplicaciones ahora, así que no importa. :) – klkitchens
este método es bueno si necesita crear un SQL seguro para volcar a un archivo de texto o similar. –
- 1. SQL Escape ''
- 2. cadena de escape real Android en sqlite
- 3. python y sqlite - entrada de escape
- 4. SQL Server Escape a Underscore
- 5. escape Cotizaciones en Objective-C
- 6. Carácter de escape en SQL Server
- 7. Escape ampersand en PL/SQL Developer
- 8. SQLite Únete en Windows 8 Metro C# con sqlite-net
- 9. ¿Cómo puedo acceder a SQLite con C#?
- 10. C# Regex Escape Secuencias
- 11. Agregar parámetros en SQLite con C#
- 12. SQLite en C y compatible con REGEXP
- 13. Filesystem filename escape? C#
- 14. SQLite vs SQL Server
- 15. Valor "LIKE" de escape SQL para Postgres con psycopg2
- 16. caracteres de escape comilla simple al importar a SQLite
- 17. Signo de porcentaje de escape DB2 SQL
- 18. escape en C# para el consumo Javascript
- 19. SQLite con Entity Framework
- 20. Carácter de comillas simples de escape para su uso en una consulta SQLite
- 21. ¿Cómo importo archivos .sql en SQLite 3?
- 22. ¿Qué significa tinyint (3) en SQL (SQLite)?
- 23. Trabajando con SQLite en codeigniter
- 24. sqlite c library en mac os?
- 25. SQLite 3 C API Transactions
- 26. LINQ con SQLite (linqtosql)
- 27. SQLite Alternatives for C++
- 28. C# SQLite parametrizado Seleccionar utilizando como
- 29. caracteres de escape con cáscara
- 30. Uso de SQLite con Qt
¿Qué hago si tengo múltiples params? Qué escribo cmd.CommandText =" insert ... @parameter ... @parameter "; cmd.Parameters.Add (...); cmd.Parameters.Add (...);? –
Sí, también debe haber un método AddRange disponible donde puede pasar una matriz de parámetros que coinciden con los parámetros en el sql statemenet. –
Puede llamar a Parameters.Add varias veces al igual que ha pedido o utilizar los parámetros.AddRange que acepta una matriz de parámetros. – bstoney