Прежде всего, используя String.Format () для синтеза вашего запроса, следите за тем, чтобы не настраивать себя для атаки SQL-инъекцией. (Убедитесь, что tableName и ColumnName происходят из надежного источника.
Во-вторых, я бы так и сделал. Обратите внимание на квадратные скобки вокруг имен таблиц и столбцов (которые будут избегать любых прикольных символов, которые могут быть в именах таблиц или столбцов). Но что более важно, обратите внимание, что forwardSlashText теперь является параметром:
sqlCommand.CommandText = String.Format("update [{0}] set [{1}] = @val where id = @Id",
tableName, ColumnName);
sqlCommand.Parameters.AddWithValue("@Id", rowId);
sqlCommand.Parameters.AddWithValue("@val", forwardSlashText);
numRowsAffected = sqlCommand.ExecuteNonQuery();