Dim tj As WinForm.TextBox = e.Form.Controls("txtb_tiaojian")
Dim xx As WinForm.ComboBox = e.Form.Controls("comb_xuangxiang")
Dim JQ As WinForm.CheckBox = e.Form.Controls("CheckBox_jingque")
Dim KC As WinForm.CheckBox = e.Form.Controls("CheckBox_KC")
Dim fil As String
If e.Form.Controls("txtb_tiaojian").value IsNot Nothing Then
If JQ.Checked = True Then
If KC.Checked = True Then
fil = xx.Value & " = '" & tj.Value & "' And 数量 > 0 "
Else
fil = xx.Value & " = '" & tj.Value & " ' "
End If
Else
If KC.Checked = True Then
fil = xx.Value & " Like '*" & tj.Value & "*' And 数量 > 0 "
Else
fil = xx.Value & " Like '*" & tj.Value & "*'"
End If
End If
' MessageBox.Show(fil)
就是红色字体代码出错,求高手指教。
只要字符串中含有*号且后面还有字符,就出错,比如1100*1100
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2012.11.29.1
错误所在事件:
详细错误信息:
System.Data.EvaluateException: Like 运算符中出错: 字符串模式“*1100*1100*”无效。
在 System.Data.LikeNode.AnalyzePattern(String pat)
在 System.Data.LikeNode.Eval(DataRow row, DataRowVersion version)
在 System.Data.BinaryNode.Eval(ExpressionNode expr, DataRow row, DataRowVersion version, Int32[] recordNos)
在 System.Data.BinaryNode.EvalBinaryOp(Int32 op, ExpressionNode left, ExpressionNode right, DataRow row, DataRowVersion version, Int32[] recordNos)
在 System.Data.BinaryNode.Eval(DataRow row, DataRowVersion version)
在 System.Data.Select.AcceptRecord(Int32 record)
在 System.Data.Select.GetLinearFilteredRows(Range range)
在 System.Data.Select.SelectRows()
在 System.Data.DataTable.Select(String filterExpression)
在 Foxtable.Class35.set_Filter(String value)