Проблема с методом 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+"'");