为什么这行得通
int collectionCharge = (int)cmdCheck.ExecuteScalar();
但这会产生异常
double collectionCharge = (double)cmdCheck.ExecuteScalar();
System.InvalidCastException:指定的强制转换无效。
为什么它无效?
编辑
我试图简单地从查询中返回一个结果,得到一些运费的价格。所以我不能把它变成一个,int
因为它必须有小数,因此试图转换为double
. 我还在学习 asp.net,所以如果有更好的方法来实现这一点,请给我指出正确的方向:)
使用 SQL编辑 2 的完整代码...
using (SqlCommand cmdCheck = new SqlCommand("SELECT FREIGHT_PRICE FROM FREIGHT_QUOTER_BELNL_NEW WHERE CUSTOMER_NO = @CUSTOMER_NO AND COUNTRY = @COUNTRY AND ROUND(WEIGHT_FROM,0) < @WEIGHT AND ROUND(WEIGHT_TO,0) >= @WEIGHT AND SHIPVIA = '48';", connection))
{
double collectionCharge = (double)cmdCheck.ExecuteScalar();
FreightAmount = collectionCharge;
}