将过滤器应用于数据表时,我遇到了操作数错误。
错误消息如下:
Syntax error: Missing operand after 'PBRule' operator.
at System.Data.ExpressionParser.Parse()
at System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
at System.Data.DataTable.Select(String filterExpression)
Dim dr As DataRow()
Dim sQuery As String
sQuery = "PBRuleId={0} AND StartDate<=#{1:MM/dd/yy}# AND (FinishDate>=#{1:MM/dd/yy}# OR FinishDate IS NULL) AND (SELECT * FROM PBRule WHERE PBCodeID IN (SELECT PBCodeId FROM PBRule WHERE PBHoursTypeId IN (3,4,5,6))"
dr = Me.PBRule.PBRule.Select(String.Format(sQuery, .PBRuleId, .PBDate))
任何人都可以提供帮助
答案 0 :(得分:0)
你的代码看起来很好,直到它到达部分,“AND(SELECT * FROM PBRule ...”。你不能选择那样的数据,我很确定你不能使用IN运算符。
它不是SQL SERVER,它最像MS ACCESS类型语法,但不完全是。