我的代碼是做什麼的,我從它想除了它顯示了一個錯誤「輸入字符串的不正確的格式」這條線:da.SelectCommand.Parameters.AddWithValue("@isbn", Convert.ToDecimal(cboISBN.SelectedValue.ToString()))
這裏我將提供一些更多的代碼,所以這將是可以理解的,什麼我這樣做的:輸入字符串的格式不正確?但
Private Sub cboISBN_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboISBN.SelectedIndexChanged
Try
If (cboISBN.SelectedIndex <> -1) Then
da = New SqlDataAdapter("SELECT isbn FROM book WHERE isbn [email protected]", cn)
da.SelectCommand.Parameters.AddWithValue("@isbn", Convert.ToDecimal(cboISBN.SelectedValue.ToString()))
dt = New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
da = New SqlDataAdapter("SELECT no_of_books FROM book WHERE isbn [email protected]", cn)
da.SelectCommand.Parameters.AddWithValue("@isbn", Convert.ToDecimal(cboISBN.SelectedValue.ToString()))
dt = New DataTable
da.Fill(dt)
TxtNo_of_Books.Text = dt.Rows(0).Item("no_of_books")
End If
End If
Catch ex As Exception
MessageBox.Show("Not Completed Because OF The Following Error " & "%" & ex.Message & "%", "Error", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
我提供的值是一個數字不串並請不要問我爲什麼用十進制爲ISBN [我的選擇;-)。最後一件事我只是沒有來這裏發佈我的問題並得到答案,我自2天以來一直是GOOGLING,並沒有找到解決我的問題的地方!
調試這個問題的方法是檢查cboISBN.SelectedValue.ToString的'()的值在'時的時間則拋出異常。你相信它是數字的,但'ToDecimal'方法確定它不是。 – Blackwood
所以...如果'cboISBN.SelectedValue'的值是十進制的,爲什麼你需要做'toString/Convert'?只要嘗試通過'cboISBN.SelectedValue'或'CType(cboISBN.SelectedValue,Decimal)'什麼是數據庫中的列的數據類型? –
存在您的問題 - 您的數據庫數據類型不匹配。對於目前嘗試使用'Convert.ToInt32'傳遞價值,看看會發生什麼 –