我使用这段代码通过dataview过滤我的数据表:
Dim xBlockedAccounts As String = "1,5,7"
Dim xDv_AllAcc As New DataView(MyVar_Dt_Accounts)
xDv_AllAcc.RowFilter = "FIND_IN_SET(AccID," & xBlockedAccounts & ")"
Me.Dgv3.DataSource = xDv_AllAcc.ToTable但它给了我这样的感觉:
表达式包含未定义的函数调用FIND_IN_SET().‘
如何在Dataview的Rowfilter中使用FIND_IN_SET函数?
发布于 2021-02-05 07:13:28
我以为MyVar_Dt_Accounts是DataTable。您需要一组已阻塞的帐户值。然后是Linq魔法。
Private Sub OPCode()
Dim MyVar_Dt_Accounts As New DataTable
Dim xBlockedAccounts = {"1", "5", "7"}
Dim dt = (From row As DataRow In MyVar_Dt_Accounts.AsEnumerable
Select row
Where xBlockedAccounts.Contains(row("AccID").ToString)).CopyToDataTable
Dgv3.DataSource = dt
End Sub首先检查AccID实际上是数据库中的字符串,而不是数字。
https://stackoverflow.com/questions/66034760
复制相似问题