VB.Net中如何筛选列名含括号的数据?
在VB.Net中筛选含括号列名的DataTable数据
问题原因
DataTable的Select方法会将列名中的括号识别为函数调用语法,导致把概略質量(kg)误判为概略質量()函数,从而抛出“undefined function call 概略質量()”的错误。
解决方法
给包含特殊字符的列名包裹方括号[],明确告诉解析器这是列名而非函数。修改后的代码如下:
Dim targetColumn As String = "概略質量(kg)" Dim filteredRows = parm_dtDataHTMLFile.Select(String.Format("[{0}] IS NOT NULL AND [{0}] <> ''", targetColumn))
额外提示
- 不仅是括号,当列名包含空格、特殊符号(如
-、@)或与SQL关键字重名时,都可以用方括号包裹列名来避免解析冲突。 - 这个规则同样适用于DataView的筛选表达式。
内容的提问来源于stack exchange,提问作者D T
相关产品推荐
相关产品推荐

