Здравствуйте, Lenny, Вы писали:
Вы издеваетесь? Да? Очень смешно? Уууууу

! Поотрывал бы

Ладно, проехали

, далее по-существу :о)
L>if (find.Length==0)
L>{
L>..rowList.Add(row);
L>..myCommand=myCommand+" DELETE FROM sgz_PlanPogrKomatsu where " + …;
L>..rowList.Add(row);
L>}
Зачем два раза строку в список добовляешь?
L>if (rowList.Count>0)
L>{
L>..int dlina = myCommand.Length-1;
L>..myCommand = myCommand.Substring(0, dlina);
L>..killCmd.CommandText = myCommand;
L>..killCmd.Connection = cn;
L>..killCmd.ExecuteNonQuery();
L>}
Если я правильно понял, то тут ты как раз и удаляешь из базы данных записи, попавшие в rowList.
L>rowList.Sort();
Для чего-то сортируешь
L>for(int arrow = (rowList.Count-1); arrow>0; arrow--)
L>{
L>..BaseTable.Rows.RemoveAt((int)rowList[arrow]);
L>}
И используя [пип] метод который я запретил тебе использовать [пип] ты удаляешь из таблицы строки, которые не нужны! Конечно оно здесь ругнётся,: помнишь, ты одну и тужу строку дважды в rowList добавляешь? при повторном удалении исключение и появляется.
L>//далее делаю апдэйт
L>MyDataGrid.Refresh();
L>int count=BaseAdapter.Update(myDS,"sgz_PlanPogrKomatsu");
Для чего ты делаешь Update? Ведь killCmd.ExecuteNonQuery(); должна была уже удалить все строки из базы данных?
ЗЫ. Несмотря на свой ник, не ленись, создавая, и тем более публикуя, свой код — назвай переменный, делай отступы и вставляй пробелы как рекомендуют бывалые орлы, хотя бы даже и так, как
здесь.