Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como inserir string contendo aspas simples ou duplas


Se você usar instruções parametrizadas corretamente , você não precisa se preocupar com isso. Algo assim (embora, por favor, não aprenda técnicas de C# comigo):
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();

(Embora você realmente deva usar procedimentos armazenados.)

Se você está construindo suas strings manualmente (o que você realmente não deveria estar fazendo), você precisa escapar dos delimitadores de string dobrando-os:
INSERT dbo.tbl(col) VALUES('hello''foo"bar');