sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man infogar en sträng som innehåller enkla eller dubbla citattecken

Om du använder korrekt parametriserade uttalanden , du borde inte behöva oroa dig för det. Något liknande detta (men snälla lär dig inte C#-tekniker av mig):

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

(Även om du egentligen borde använda lagrade procedurer.)

Om du bygger dina strängar manuellt (vilket du verkligen, verkligen, verkligen inte borde göra), måste du undvika strängavgränsare genom att dubbla dem:

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


  1. AWS Glue predikat push down condition har ingen effekt

  2. Hur man gör MERGE serialiserbar

  3. PHP Lista användare från SQL-databasen i tabell

  4. Postgres triggerbaserad infogningsomdirigering utan att bryta RETURNING