【发布时间】:2015-01-12 13:52:35
【问题描述】:
我在这方面花了几天时间,多次搜索,但我找不到答案,是的,我敢打赌这很简单。
我正在尝试通过 vb.net 组合框 Fuel_Cb1 从访问数据库中汇总使用的燃料。 在此声明中,我收到“从小于无穷大的数字进行转换时”的错误。
如果我将以下语句中的单词 bus 更改为已知数字,例如 43,它将返回该车辆编号的正确总和。 此外,如果我删除“WHERE”语句,它将正确返回 Fill_Liters 列的总和。
Dim Query As String = ("select sum (Fill_Liters) FROM Fuel where Bus_ID= '" & 总线 & "'")
使用时也会返回“当从小于无穷大的数进行转换时”错误
Dim reader As OleDbDataReader = cmd.ExecuteReader()
而 reader.Read()
如果我使用 sum 语句,如果未使用 sum 语句,但是您可以从组合框中进行选择,它将在 Fill_Liters 列中显示最后一个条目
Private Sub clickFuelCb1(ByVal sender As Object, ByVal e As EventArgs) 'Handles Cb1.SelectedIndexChanged
Dim combobox = DirectCast(sender, ComboBox)
Dim bus
bus = Fuel_Cb1.Text
With Fuel_GB1
.Location = New Point(10, 50)
.Text = "Fuel statistics for vehicle number " + bus
.Size = New Size(300, 300)
End With
Dim Query As String = ("select sum (Fill_Liters) FROM Fuel where Bus_ID= '" & bus & "'")
Using con2 As New OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0; data source=H:\Documents and Settings\Administrator\Desktop\Fuel\Fuel\DB1.accdb;")
Dim cmd As New OleDb.OleDbCommand(Query, con2)
con2.Open()
'Dim reader As OleDbDataReader = cmd.ExecuteReader()
'While reader.Read()
Fuel_Lb2.Text = cmd.ExecuteScalar() 'reader.GetString(0)
'End While
con2.Close()
End Using
End Sub
我希望我在这里有足够的信息,并期待您的回答。
【问题讨论】: