2012-03-05 3 views

答えて

0

第2の形式は、のように良好です。は長くなります。文字列との変換は、バイナリ< - > 10進変換のため、精度が低下する可能性があります。

0

使用(long)db.Parameter("@rowCount").Value または(long?)db.Parameter("@rowCount").Value値がnullの場合は、何がありますので、私は、前にオブジェクトを文字列にキャストしないではないでしょう。この場合

long lngVal = System.Convert.ToLong(db.Parameter("@rowCount").Value); 

+0

Valueがnullの場合、このprefix-castは使用しないでください。パフォーマンスのために、値がnullになる可能性がある場合は、キャスト時の使用を優先します。 – Benni

0

一つの方法は、私はこのようにキャストするストリング

((long)(db.Parameter("@rowCount").Value.ToString())) 
0

から長いそれをキャストタイプでありますそれの理由。

0
int nRowCnt = db.GetOrdinals("@rowCount"); 
db.GetInt64(nRowCnt); 
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 
} 

例外は非常に高価であり、上記のコードの例外に応じて処理されますので。だから、より良いアプローチを提供します。

ありがとうございました