SqlCom.Parameters.Add("@GoodsID", SqlDbType.BigInt,8);
SqlCom.Parameters["@GoodsID"].Value = Int64.Parse(CheckBillView["GoodsID",Row].Value.ToString()); 
提示数据转换失败!CheckBillView["GoodsID",Row].Value.ToString()返回的是货品的名称,我是想转换成ID存入数据库。不知是我转换语句错误呢?还是其他错误?本人刚学C#,请多多指教!

解决方案 »

  1.   

    货品的名称可以转换成Int64 吗?
      

  2.   

    如果你的Value是"5"这样的字符串 可以转换成功,
    如果是名称"商品"这样要转换成数字 肯定失败
      

  3.   

    你先转成string 的干什么 ,直接转成int64的不就可以了。中间多了一步Int64.Parse(CheckBillView["GoodsID",Row].Value); 还有就是要家个验证比较合适。
      

  4.   

    纠正一下:SqlCom.Parameters.Add("@GoodsID", SqlDbType.BigInt,8);
    SqlCom.Parameters["@GoodsID"].Value = Int64.Parse(CheckBillView["GoodsID",Row].Value.ToString()); 是提示转换格式不正确!不好意思写错了,发表上去才发现。
      

  5.   

    Convert.ToInt32(CheckBillView["GoodsID",Row].Value)
    用object转换要好得多
    不然你拆箱装箱很耗内存的
      

  6.   

    采用Convert.ToInt32(CheckBillView["GoodsID",Row].Value)转换,还是提示字符串转换格式不正确啊!