Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment insérer une chaîne contenant des guillemets simples ou doubles

Si vous utilisez des instructions correctement paramétrées , vous ne devriez pas avoir à vous en soucier. Quelque chose comme ça (mais s'il vous plaît, n'apprenez pas les techniques C # de ma part):

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();

(Bien que vous devriez vraiment utiliser des procédures stockées.)

Si vous construisez vos chaînes manuellement (ce que vous ne devriez vraiment, vraiment, vraiment pas faire), vous devez échapper les délimiteurs de chaînes en les doublant :

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