0

此代码有效:

gErrorHandler.Push("frmItemcodes.cmdRunMethodOne_Click")
If gfHANDEL_ERRORS Then On Error GoTo PROC_ERR

Dim query = KQdbs.Items.Where(Function(f) f.Itemcode > 8000)
Me.dgvItemcodes.DataSource = query.ToList

PROC_EXIT:
    gErrorHandler.Pop()
    Exit Sub

PROC_ERR:
    gErrorHandler.HandleError()
    Resume PROC_EXIT

但是如果我将文字 8000 更改为任何类型的变量,我会收到以下错误:

错误 BC36597“On Error GoTo PROC_ERR”无效,因为“PROC_ERR”位于定义 lambda 或查询表达式中使用的变量的范围内。

我不知道为什么

如果我将正文中的代码更改为:

Dim query = From item In KQdbs.Items Where item.Itemcode = 8000
Me.dgvItemcodes.DataSource = query.ToList

结果是一样的,字面量作用一个变量返回和上面一样的错误

4

0 回答 0