无效的Cast Exception尝试从数据库中检索数据时未处理

时间:2014-04-15 20:05:00

标签: vb.net sql-server-ce

我写下了以下的行为:

SELECT        ItemName, Price
FROM          ItemInventoryControl
WHERE        (ItemName = @ItemName)

现在,我正在尝试使用以下过程检索Price

Dim StrItemName As String = btnItemButton.Text
Dim strQty As String = "1"
Dim dblQty As Double = CDbl(strQty)

Dim table As DataTable = ItemInventoryControlPriceTableAdapter.GetData(StrItemName)
Dim dblPrice As Double = table.Rows(0).Field(Of Double)("Price") **'Error here**
Dim dblTotal As Double = dblPrice * dblQty

MessageBox.Show(dblPrice.ToString)

但是,我收到以下错误:Make sure the source type is convertible to the destination type.

我正在使用SQLCE,Price字段设置为Float数据类型。因此,当我尝试检索为Double时,我不明白为什么会出现转换错误。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您的通话会因为您没有检索到Double而引发错误。这是强烈打字记住。

最懒的解决方案是使用以下内容替换错误行:

Dim dblPrice as Double = table.rows(0)("Price")

实际上会有效。