VB.net中的LINQ查询比较整数

时间:2016-03-25 15:42:32

标签: vb.net linq

我正在尝试编写一个LINQ查询,将数据库中的整数值与整数变量进行比较。这不起作用。我可以比较文本值,但比较整数会返回null。

        Private Sub txtRoomNum_TextChanged(sender As Object, e As EventArgs) Handles txtRoomNum.TextChanged
    If Val(txtRoomNum.Text) > 99 Then
        Dim intRoomNum As Integer

        intRoomNum = Val(txtRoomNum.Text)
        Dim RoomData = (From Rooms In BadermanIslandDataSet.Rooms
                        Where Rooms.HotelID = intHotelID).SingleOrDefault
        ''Where Rooms.HotelID = intHotelID And Rooms.RoomNumber = intRoomNum
        Try
            txtTest.Text = RoomData.RoomID
        Catch ex As Exception
            txtTest.Text = "null"
        End Try
    End If


End Sub

3 个答案:

答案 0 :(得分:0)

更改txtTest.Text = RoomData.RoomID

Convert.ToInt32(txtTest.Text) = RoomData.RoomID)

您之前正在比较stringinteger

答案 1 :(得分:0)

因为它是用户输入,所以当从文本字段中获取值时,我会尝试使用Integer.TryParse。这将防止引发异常,并且在解析失败的情况下,您可以要求您的用户仅使用该字段中的数字。

If Integer.TryParse(txtRoomNum.Text, intRoomNum) Then
   ...your logic
Else
   ...something to let them know to only put a number in txtRoomNum.Text
End If

答案 2 :(得分:0)

好的,我发现了这个问题。我在表单上需要一个RoomsBindingSource。一旦添加它就像一个冠军。