update simples simple sencillas insertar dobles concatenar con comillas comilla caracter agregar c# sql .net escaping

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.