sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan indsætter du en streng, der indeholder enkelte eller dobbelte anførselstegn

Hvis du bruger korrekt parametriserede udsagn , du behøver ikke at bekymre dig om det. Noget som dette (selvom venligst ikke lære C#-teknikker af 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();

(Selvom du egentlig burde bruge lagrede procedurer.)

Hvis du bygger dine strenge manuelt (hvilket du virkelig, virkelig, virkelig ikke burde gøre), skal du undslippe strengeafgrænsere ved at fordoble dem:

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


  1. MariaDB JSON_LOOSE() Forklaret

  2. Find den næste måned for en given dato i mysql

  3. Viser japanske tegn fra SQLException.getMessage()

  4. Kan jeg lave en atomisk stigning i Rails 2.3 uden at gå ned til SQL?