我的字符串在字符串数组中,我的数据在datatable中。
我要做的是,使用datatable.select(string)方法选择一行并将其从数据表中删除。
这就是我正在做的,它工作得很好,但是如果我频繁地改变数组,它会返回一个错误。我已经检查了datatable中的数据行和匹配的字符串。他们就在那里,就像他们应该在那里一样。但有时它仍然返回null。但是当我检查的时候,数据完全是我想要的。
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);
}
}如果我遗漏了什么,请告诉我。数据表中有两列:"ID“和"LocationName”。ID类似于主键,是checkedbox列表的valuemember成员。
发布于 2010-06-29 03:21:30
我知道答案了。这是一个愚蠢的错误,微软在他们的文档中忽略了它。
您需要将字符串放在单引号(')中。所以这条线应该是
DataTable1.Select("ID= '"+tempstring+"'");
https://stackoverflow.com/questions/3135284
复制相似问题