我正在尝试编写一个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
答案 0 :(得分:0)
更改txtTest.Text = RoomData.RoomID
到Convert.ToInt32(txtTest.Text) = RoomData.RoomID)
您之前正在比较string
和integer
答案 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。一旦添加它就像一个冠军。