c# - sencillas - Manejo de comillas simples en una cadena SQL
insertar comillas dobles en sql (3)
Espero que esto te ayudará ...
public static string DoQuotes(string sql)
{
if (sql == null)
return "";
else
return sql.Replace("''", "''''");
}
Tengo una aplicación donde los valores en el campo de texto se envían a la base de datos.
Por ejemplo, tengo un formulario con un campo (cuadro de texto). Cuando presiono el botón Aceptar, el contenido del campo de texto se inserta como un registro en una tabla. Solo estoy recortando y extrayendo el texto del cuadro de texto en una variable y pasándolo a mi cadena SQL.
El problema es que siempre que algo como "It''s" o "Friend''s" la comilla simple se identifica como el final de la cadena. En Delphi he visto algo como QuotedString
para evitar esto. ¿Alguna idea tuya?
Nunca compile declaraciones de SQL de esa manera, es muy inseguro (lea esto) . Utilizar parámetros, es decir:
var command = new SqlCommand("select * from person where firstname = @firstname");
SqlParameter param = new SqlParameter();
param.ParameterName = "@firstname";
param.Value = "testing12''3";
command.Parameters.Add(param);
Usar .Replace("''","''''''''")
Por ejemplo
string name = txtName.Text.Replace("''","''''''''");
Ahora el name
se puede pasar como un parámetro en el procedimiento almacenado, etc.