根据访问值删除行

  • 本文关键字:删除行 访问 c#
  • 更新时间 :
  • 英文 :


该程序搜索所有设施编号,并通过此数字选择一个句子。如果他找到数字:"863790",那么他选择一个句子。如果他这样做,他必须删除此设施编号。这是我已有的代码

                string[] lines = RichFacilityText.Lines;
               
                for (int i = 0; i < lines.GetUpperBound(0); i++)
                {
                    OleDbCommand command = new OleDbCommand();
                    command.Connection = connection;
                    string query1 = "SELECT TOP 1 * FROM SolozinnenTabel WHERE Faciliteitnummer= " + lines[i] + " AND Paragraaf LIKE '" + AlineaDesignNaam + "%' ORDER BY rnd(ID)";
                    command.CommandText = query1;
                    OleDbDataReader reader1 = command.ExecuteReader();
                    while (reader1.Read()) { RichAccoText.Text = RichAccoText.Text + reader1["Zin"].ToString() + ". ";
                    RichFacilityText.Lines = RichFacilityText.Lines.Where(lines => !lines[i]);
                }

但它不起作用,因为我收到以下错误

无法在此作用域中声明名为 lines 的局部变量,因为它会赋予"lines"不同的含义,"lines"已在"父或当前"作用域中用于表示其他内容。

运算符 "!" 不能应用于类型为 'char' 的操作数

在此行RichFacilityText.Lines.Where(lines => !lines[i])中,您有一个 lambda 表达式,该表达式使用名称创建一个新的局部变量。该变量名称已在外部作用域中使用,并在此处定义: string[] lines = RichFacilityText.Lines; 这就是您收到第一个错误的原因。只需重命名两个变量之一,错误应该就消失了。

第二个错误也是因为 lambda 表达式 lines => !lines[i] 。变量是一个字符串,lines[i]将被计算为字符。未为数据类型 char 定义 !-运算符,因此会出现错误。

最新更新