Проблема с методом DataTable.Select

У меня есть строки в массиве String, а мои данные - в виде данных.

Что мне нужно сделать, так это выбрать одну строку с помощью метода datatable.select(string) и удалить ее из таблицы данных.

это то, что я делаю, и он работает много раз, но он возвращает ошибку, если я часто меняю массив. Я проверил datarows в datatable, а также соответствующую строку. они там, как и должно быть. Но иногда это все еще возвращает ноль. Но когда я проверяю, данные в точности такие, как я хочу.

             for (int k = 0; k < p; k++)
                {
                    string tempMapString = "ID =" + IDArray[k];
                  try
                    {
                        DataRow[] rows = myTable_2_ForCBL.Select(tempMapString);

                        //MessageBox.Show(IDArray[k].ToString(), "ID Array Element");
                        MessageBox.Show(tempMapString + "  " + rows.Length.ToString(), "No of Rows mapped are:");



                        if (rows.Length > 0)
                        {
                            foreach (DataRow row in rows)
                            {
                                row.Delete();
                            }
                        }
                    }
                    catch (Exception err2)
                    {
                        MessageBox.Show(err2.Message);
                    }

                }

дайте мне знать, если я что-то упустил. Там столбцы в datatable являются "ID" и "LocationName". Идентификатор аналогичен первичному ключу и является значимым элементом списка флажков.

1 ответ

Решение

Я получил ответ. Это глупая ошибка, которую Microsoft игнорировала в своей документации.

вам нужно поставить одинарную кавычку (') для строки. так что линия будет

DataTable1.Select("ID= '"+tempstring+"'");

Другие вопросы по тегам