当我尝试在Like
上使用以下DataTable
条件时,我得到Exception
:
For Each ResultRow As DataRow In tempDS.Tables(TableName).Select("Item like '<Root><Row>%<Rowid>%</Rowid></Row><Maxrowid>%</Maxrowid></Root> '")
Resultval = Resultval & ResultRow.Item(Colname)
Next
如何匹配这样的模式?
另外我看到一些文章说明在数据表格的情况下中间一定不能有狂野的字符。那么上面的案例怎么办?
答案 0 :(得分:2)
实际上,这种表达式中的通配符只允许在模式的开头和结尾,或模式的结尾,或模式的开头。
但您可以使用允许此类通配符的VB.Net's Like Operator并使用例如一个linq查询。
示例:强>
Dim table = New DataTable()
table.Columns.Add("Item", GetType(String))
table.Rows.Add("Foo")
table.Rows.Add("Bar")
table.Rows.Add("FooBar")
Dim filtered = From row in table.AsEnumerable()
Where row.Field(Of String)("Item") LIKE "F*o*"
For Each row In filtered
Console.WriteLine(row("Item"))
Next
<强>输出:强>
富
FooBar的