C# の bigint に相当するものは何ですか?
-
22-09-2019 - |
質問
C# で値(SQL Server データベースの場合は bigint)を処理する場合は何を使用すればよいですか?
解決
それは、 長さ (または Int64)、64 ビット整数。
ただし、データベースからの数値がたまたま十分に小さく、誤って Int32 などを使用した場合は問題ありません。しかし Int64 必ず保持します。
そして、フルサイズが必要なときに小さいものを使用するとエラーが発生しますか? スタックオーバーフローです! わーい!
他のヒント
Int64
BigInt
に直接マップします。
ソースの
私は、インサートの主キーを返されたスクリプトを持っていた。
を使用しましたSELECT @@identity
私はこの検索を始めた理由だった - 私のBIGINT主キーに、と私は長い間使用して、キャストエラーが発生します。少なくとも私の場合は、正しい答えは、その選択によって返されたタイプは、小数点型に相当数値であるということです。使用すると、長いキャスト例外が発生します。
この複数のGoogle検索であなたの答えをチェックするための一つの理由である(あるいはスタックオーバーフローに!)。
私を助けたデータベース管理者を引用します:
...のBigIntは、彼らが同じように見えどんなにINT64と同じではありません。その理由の一部は、SQLが頻繁に通常の処理の一環として、数値にINT /のBigIntを変換することです。それはOLEや.NETに行くときに必要な変換は、数値はINTにあります。
印刷された値が同じに見えるので、私たちがいないことが多いの通知を行います。 "
あなたはlong
タイプやInt64
使用長いデータ型ます。
私は相当Int64のだと思います。
整数 SQLでは、に直接マップされます int32 プリミティブ型としても知られています。 整数 で C# 一方
ビギント SQL Server では、次のように直接マッピングされます。 int64 プリミティブ型としても知られています。 長さ で C#
biginteger から integer への明示的な変換が定義されている場合 ここ
私はDataGridViewの中で示されるBIGINTデータ型を処理し、この
のようにそれを作りました。something = (int)(Int64)data_reader[0];