Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在Visual studio中使用相同的更改文本框按名称和编号进行搜索_Vb.net - Fatal编程技术网

Vb.net 在Visual studio中使用相同的更改文本框按名称和编号进行搜索

Vb.net 在Visual studio中使用相同的更改文本框按名称和编号进行搜索,vb.net,Vb.net,我使用visual studio在Access db中搜索以下代码以在SerialNumber列中搜索: Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged if Trim(TextBox2.Text) = "" Then SpringDataBindingSource.Filter = "" Else SpringDataBinding

我使用visual studio在Access db中搜索以下代码以在SerialNumber列中搜索:

Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles        TextBox2.TextChanged
 if Trim(TextBox2.Text) = "" Then
 SpringDataBindingSource.Filter = ""
Else
 SpringDataBindingSource.Filter = "SerialNumber = '" + TextBox2.Text + "'"
End If
End Sub
如果我还想在“名称”列中使用相同的已更改文本框进行搜索,该怎么办

serialnumber列中的数据类型为数字和名称文本。

状态中的备注

要形成筛选值,请指定列的名称,后跟运算符和要筛选的值。接受的筛选器语法取决于基础数据源。如果基础数据源是DataSet、DataTable或DataView,则可以使用为属性记录的语法指定布尔表达式

因此,假设满足上述条件并查看记录的语法:

SpringDataBindingSource.Filter = String.Format("SerialNumber = '{0}' OR Name = '{0}'", TextBox2.Text)

您可能需要将
TextBox2.Text中的任何单引号替换为两个单引号以对其进行转义。

感谢这里的所有人帮助我并为我提供了一些想法

我得到的解决方案是首先在MS Access DB中将serialnumber列数据类型从number转换为短文本,然后使用以下代码:

 SpringDataBindingSource.Filter = "SerialNumber LIKE '%" & TextBox1.Text & "%'" & " OR  Name LIKE '%" & TextBox1.Text & "%'"

再次感谢大家:)

我尝试了搜索序列号,但当我在名称列中输入要搜索的字母时,出现了以下错误:System.Data.EvaluateException:“无法对System.Int32和System.String执行“=”操作。@MohammadKhaled请编辑问题以显示列的数据类型。我想您需要删除第二对单引号,如
或Name={0}
。在这种情况下,你应该确保文本框中确实有一个数字。我试图删除单引号,但没有成功。我找到的唯一解决方案是将DB中的序列号列转换为类似文本的列,然后我使用了以下方法:SpringDataBindingSource.Filter=“SerialNumber like“%”和TextBox1.text&“%”或名称like“%”和TextBox1.text&“%”