Как я могу оптимизировать код C#?
Привет эксперты,
Мне нужна ваша помощь в нижеследующем отношении. У меня есть имя таблицы: "Persons", имеющее несколько полей, включая ID, PersonID, Name и т. д.
Чтобы получить табличные данные, я запускаю "Select * from Persons" и устанавливаю значения в dataset и привязываю его к источнику данных Grid. Теперь я хочу удалить несколько Персонид из этого списка.
Поэтому для этого я создал список "listRecords" и добавил Эти PersonID в этот список. После этого я создал цикл, как показано ниже, и удалил элементы, когда PersonID совпадает. Он работает нормально, но его сложность высока, так как я создаю цикл по списку, а затем сравниваю его со значением таблицы набора данных.
Мне нужна ваша помощь, чтобы оптимизировать его.
if (listRecords != null && listRecords.Count > 0) { foreach (string item in listRecords) { for (int i = 0; i < dataset.Tables[0].Rows.Count; i++) { if (item.Equals(dataset.Tables[0].Rows[i]["PersonID"], StringComparison.InvariantCultureIgnoreCase)) { dataset.Tables[0].Rows.Remove(dataset.Tables[0].Rows[i]); } } } } grid.DataSource = dataset.Tables[0].DefaultView;
Спасибо,
Что я уже пробовал:
Вышеупомянутый код работает нормально, что я и пробовал.
0x01AA
Как насчет того, чтобы запустить SQL DELETE FROM PERSONS WHERE PersonId = :PersonId
а потом освежите свой SELECT *...
?
User-8621695
Спасибо, но мне не нужно делать SQL-вызов с операцией удаления,так как я делаю еще несколько операций с данными, а затем удаляю их.
0x01AA
Извиняюсь. Теперь я понимаю, что был совершенно неправ.