2016-07-26 9 views
0

Ich habe einen Teil wahrscheinlich Code wie folgt. Ich muss verhindern, SQL-Injektion mit Parameter wie hinzufügen CodeWie kann ich Parameter verwenden, um SQL-Injektion zu verhindern, wenn ich SQL-Anweisung dynamisch erstellen muss?

Ist es möglich, es zu verwenden?

Da habe ich einige dynamische Parameter wie "Wählen Sie XXX, XXX, ....".

count = myStringLists.count; 
sql.Append(" select"); 

foreach(string myString in myStringLists) 
{  
    sql.Append(string.Format("{0} ", myString)); 

    if ((count--) > 1) sql.Append("\n ,"); else sql.Append("\n "); 
} 
+0

sollten Check-out [Können wir AddWithValue nicht mehr verwenden() bereits?] (Http: //blogs.msmvps. com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-schon /) und hört mit '.AddWithValue()' auf - es kann zu unerwarteten und überraschenden Ergebnissen führen ... –

+0

In einzelnen Parameter , ich werde "sql.Append (" @ myString ");" anstelle von "sql.Append (string.Format (" {0} ", myString));" –

+0

ist es in ASP.NET 2.0 C#. –

Antwort

0

können Sie sp_executesql verwenden dynamische SQL ausführen

verweisen auf sp_executesql