sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo insertar una cadena que contiene comillas simples o dobles

Si usa sentencias parametrizadas correctamente , no deberías preocuparte por eso. Algo como esto (aunque no aprendas técnicas de C# de mí):

string sql = @"UPDATE dbo.table SET col = @p1 WHERE ...;";
string myString = @"hello'foo""bar";

SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlParameter p1 = cmd.Parameters.AddWithValue("@p1", myString);
cmd.ExecuteNonQuery();

(Aunque realmente debería usar procedimientos almacenados).

Si está creando sus cadenas manualmente (lo que realmente, realmente, realmente no debería estar haciendo), necesita escapar de los delimitadores de cadenas duplicándolos:

INSERT dbo.tbl(col) VALUES('hello''foo"bar');