我收到错误:无法将参数从字符串转换为Int 64 这是ligne:
com.Parameters.Add("@NBC", SqlDbType.BigInt).Value = ligneGridBC1.Cells["NBcmd"].ToString();
我已经尝试了
com.Parameters.Add("@NBC", SqlDbType.BigInt).Value = Convert.ToInt64(ligneGridBC1.Cells["NBcmd"].ToString());
com.Parameters.Add("@NBC", SqlDbType.BigInt).Value = Int64.Parse(ligneGridBC1.Cells["NBcmd"].ToString());
我的sql表包含
NBC BigInt
任何帮助将不胜感激。
答案 0 :(得分:0)
ligneGridDC1.Cells [“NBcmd”]包含哪种类型的对象?
在对象上调用.ToString()将默认返回对象的类型,除非已覆盖ToString方法。你正在尝试将'SomeType.Cell'转换为Int64。
试试这个......
Int64 a = 0;
if(!Int64.TryParse(ligneGridBC1.Cells["NBcmd"].ToString(), out a))
throw new InvalidCastException(ligneGridBC1.Cells["NBcmd"].ToString());
com.Parameters.Add("@NBC", SqlDbType.BigInt).Value = a;
希望有所帮助