SqlParameter no permite el nombre de la tabla. ¿Otras opciones sin ataque de inyección de SQL?
Tengo un error de tiempo de ejecución diciendo"Must declare the table variable "@parmTableName"
. Lo que significa que el nombre de la tabla como parámetro sql en la declaración sql no está permitido.
¿Hay una mejor opción o sugerencia que permitir el ataque de inyección de SQL? No quiero hacer esta secuencia de comandos de C # para la sentencia sql" 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();
}