「オブジェクトを DBNull から他の型にキャストできません。」のトラブルシューティング方法を教えてください。コンボボックスを使用してサービスの価格と割引価格を取得しています. コンボボックス3のアイテムを一度選択するとエラーは発生しませんが、コンボボックス3でアイテムを再度選択すると、「オブジェクトを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
ここに画像があります
この問題の原因は何ですか?