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

Come inserire una stringa contenente virgolette singole o doppie

Se utilizza istruzioni parametrizzate correttamente , non dovresti preoccuparti di questo. Qualcosa del genere (anche se per favore non imparare da me le tecniche C#):

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

(Anche se dovresti davvero usare le stored procedure.)

Se stai costruendo le tue stringhe manualmente (cosa che davvero, davvero, davvero non dovresti fare), devi evitare i delimitatori di stringa raddoppiandoli:

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