我想知道通过BLToolkit从MSSQL服务器返回的BIGINT值获取long的最佳方法 哪个更好?
long.Parse(db.Parameter("@rowCount").Value.ToString());
或
System.Convert.ToInt64(db.Parameter("@rowCount").Value);
答案 0 :(得分:1)
我认为下面是一个检索数据的好方法:
long longValue = 0;
if(db.Parameter("@rowCount").Value!=null)
{
long.TryParse(db.Parameter("@rowCount").Value.ToString(), out longValue);
//longValue: contains the actual long data
}
由于异常非常昂贵,并且根据上述代码处理异常。所以它会提供更好的方法。
由于
答案 1 :(得分:0)
第二种形式更好,因为保持很长。由于二进制< - >十进制转换,转换为字符串或从字符串转换可能会丢失精度。
答案 2 :(得分:0)
使用(long)db.Parameter("@rowCount").Value
如果您的值可能为空,则为(long?)db.Parameter("@rowCount").Value
。
答案 3 :(得分:0)
一种方法是从字符串
中长期输入((long)(db.Parameter("@rowCount").Value.ToString()))
答案 4 :(得分:0)
我会这样投:
long lngVal = System.Convert.ToLong(db.Parameter("@rowCount").Value);
在这种情况下,我不会在之前将对象强制转换为String,因为没有理由。
答案 5 :(得分:0)
int nRowCnt = db.GetOrdinals("@rowCount");
db.GetInt64(nRowCnt);