首页 > 解决方案 > 3位数字vb.net程序的错误比较结果(逻辑错误)

问题描述

早上好,我正在学习 vb.net,并创建了一个与员工数据相关的简单数据,更大,或之间)来自radioButton。

例如:当我搜索工资低于 2 时,它会检索所有员工数据,而没有工资低于 1000 的员工

我正在使用 Access 数据库,当我从数据库中调用薪水并在 (txtSearch) 中输入的值时,会出现正确的值!我不知道为什么在比较一些工资条件时我的结果是错误的。好像它有时只对数字进行比较,而不考虑每个数字的整数或其他东西,例如(2 > 12 是真的!)

这是一些截图-------->

第一个 img 不应该退回任何员工,因为没有人的薪水低于 200

图像1

,第二个返回正确的值

img2

,好的 2 和 3 是正确的结果,但就像它只是逐位比较,请参阅下一张图片

图像3

“结果错误!,所有工资都大于 140 但它只返回 3 个员工数据”

img4

!!

图像5

提前感谢,对不起我的英语

  Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
   
    Dim strSearch As String = "select * from employeeData where "
      If radioSalary.Checked Then
        strSearch &= " [Salary] = '" & txtSearch.Text & "'"
    ElseIf radioSalLess.Checked Then
        strSearch &= " [Salary] < '" & txtSearch.Text & "'"
    ElseIf radioSalGreator.Checked Then
        strSearch &= " [Salary] > '" & txtSearch.Text & "'"
    ElseIf radioSalBetween.Checked Then
        strSearch &= " [Salary] between '" & txtSearch.Text & "' and '" & txtSearch2.Text & "'"
    End If
dgvEmps.DataSource = getTable(strSearch)
End Sub

标签: vb.netcomparison

解决方案


推荐阅读