【发布时间】:2012-06-22 20:47:22
【问题描述】:
如何解决“无法将对象从 DBNull 转换为其他类型。”? 我正在使用组合框来检索服务的价格和折扣价,如果我在combobox3中选择一个项目一次,将不会发生错误,但如果我在combobox3中再次选择一个项目,“对象不能从DBNull投射到其他类型。”会发生..
这是我的代码
Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
Dim ds As New DataSet
ds = getPrice(arr(ComboBox2.SelectedIndex), ComboBox3.Text)
If ds.Tables("getPrice").Rows.Count > 0 Then
For i As Integer = 0 To ds.Tables("getPrice").Rows.Count - 1
TextBox1.Text = Convert.ToDecimal(ds.Tables("getPrice").Rows(i).Item(0))
TextBox2.Text = Convert.ToDecimal(ds.Tables("getPrice").Rows(i).Item(1))
Next
End If
End Sub
这是我的查询
Public Function getPrice(ByVal serviceId As String, ByVal breedSize As String)
If breedSize = "Small Breed" Then
sqlStr = "Select price_small_breed, discount_small_breed From tblServicePrice Where service_id = " + serviceId + ""
ElseIf breedSize = "Medium Breed" Then
sqlStr = "Select price_medium_breed, discount_medium_breed From tblServicePrice Where service_id = " + serviceId + ""
ElseIf breedSize = "Big Breed" Then
sqlStr = "Select price_big_breed, discount_big_breed From tblServicePrice Where service_id = " + serviceId + ""
End If
ds.Clear()
da = New OleDbDataAdapter(sqlStr, con.ConnectionString)
da.Fill(ds, "getPrice")
Return ds
End Function
这是图片
出现此问题的原因可能是什么?
【问题讨论】:
-
如果要分配给一组单一的文本框,迭代行的意义何在?
标签: vb.net visual-studio-2008 dataset