Hi,
da ich von PHP komme, kenne ich mich mit MS SQL noch nicht so gut aus, doch gehe ich mal davon aus, dass es genau so ist wie MySQL was sonderzeichen angeht, dann muss man die ja irgendwie schützen.
Das ist meine Frage ich möchte gerne den kompletten Quelltext einer Seite in die DB schreiben, wie lauten die C# Methoden um slashes und HTML Tags, einfache Ticks usw. zu schützen?
mfg
Hallo Curse4Life,
ist eine Frage für Datentechnologien.
Eigentlich muss man da gar nichts quoten. Einfach als Parameter definieren.
herbivore
Unter "einfach reinhauen" würde ich folgendes verstehen:
string sHTML;
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO t_HTML(HTML) VALUES('" + sHTML + "');";
Das ist natürlich nicht der richtige Ansatz. Bitte Parameter verwenden (wie herbivore bereits sagte). Parameter sind die beste Sicherheit um SQL Injection vorzubeugen.
string sHTML;
SqlConnection cn = new SqlConnection(); //Set connection
SqlCommand cmd = new SqlCommand("INSERT INTO t_HTML(HTML) VALUES (@HTML);", cn);
SqlParameter p = new SqlParameter();
p.Value = sHTML;
p.Name = "@HTML"
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();
Nein, einfach "alles rein" heißt natürlich nicht ohne Paramter zu arbeiten sondern das er sich um die Formatierung keine Sorgen machen muss!! Natürlich IMMER Parameter.
Enjoy
Christian Arnold