我在字符串数组中有字符串,数据在数据表中。

我要做的是,使用datatable.select(String)方法选择一行并将其从数据表中删除。

这就是我正在做的事情,而且它的工作正常,但是如果我经常更改数组,它会返回错误。我已经检查了数据表和匹配字符串中的数据线。他们在那样在那里。但是有时候它仍然返回零。但是,当我进行检查时,数据完全按照我的意愿。

             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”和“位置名称”。 ID就像主键一样,是Checkedbox列表的估值记者。

有帮助吗?

解决方案

我得到了答案。这是一个愚蠢的错误,Microsoft在其文档中忽略了。

您需要为字符串放置单个Quote(')。所以这条线将是

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top