SqlParameter erlaubt keinen Tabellennamen - andere Optionen ohne SQL Injection Attack?
Ich habe einen Laufzeitfehler erhalten"Must declare the table variable "@parmTableName"
. Die Angabe des Tabellennamens als SQL-Parameter in der SQL-Anweisung ist nicht zulässig.
Gibt es eine bessere Option oder einen besseren Vorschlag, als einen SQL-Injektionsangriff zuzulassen? Ich möchte dieses C # -Skript nicht für SQL-Anweisungen ausführen" DELETE FROM " + tableName + " "
;
using(var dbCommand = dbConnection.CreateCommand())
{
sqlAsk = "";
sqlAsk += " DELETE FROM @parmTableName ";
sqlAsk += " WHERE ImportedFlag = 'F' ";
dbCommand.Parameters.Clear();
dbCommand.Parameters.AddWithValue("@parmTableName", tableName);
dbConnection.Open();
rowAffected = dbCommand.ExecuteNonQuery();
}