我在處理C#中的值時應該使用什麼,這對於SQL 服務器數據庫是bigint?C#中bigint的等價物是什麼?
回答
這對應於長(或Int64),一個64位整數。
但如果從數據庫中數恰好是足夠小,你不小心用一個Int32,等等,你會沒事的。但Int64一定會擁有它。
如果您使用較小的東西而需要全尺寸,則會出現錯誤? 堆棧溢出!耶!
Int64
直接映射到BigInt
。
的顯式轉換爲Int64類型/ – 2010-01-21 22:52:20
是長其他名稱。 'long'關鍵字是'System.Int64'的別名。 – 2010-01-21 22:52:55
使用長數據類型。
我認爲相當於是Int64的
我不得不返回了插入的主鍵,在我的BIGINT主鍵使用
SELECT @@identity
一個腳本,我得到使用強制錯誤長 - 這就是我開始搜索的原因。至少在我的情況下,正確的答案是,通過選擇返回的類型是數字這相當於十進制類型。使用long將導致強制異常。
這是一個原因,檢查你的答案不止一個谷歌搜索(甚至在堆棧溢出!)。
引述一名數據庫管理員誰幫我出:
... BigInt有不一樣的INT64不管多少他們看起來很相像。部分原因是,SQL會頻繁轉換內部/ BigInt有以數字作爲正常處理的一部分。因此,當它進入OLE或.NET所需的轉換是數字爲int。
我們不常看到由於印刷值看起來是相同的。」
感謝您的數字提示..只是幫助我出去大好時光! – jpshook 2011-10-26 20:41:29
剛剛幫助我,閱讀BigInt Scope_Identity – cost 2013-05-22 06:25:28
由於SCOPE_IDENTITY和@@ IDENTITY返回NUMERIC(38,0),您得到了一個轉換錯誤,這並不是因爲您的BigInt PK不適合C#Int64。換句話說,BigInt _is_與Int64相同,但通過SCOPE_IDENTITY或@@ IDENTITY返回的BigInt值可能會被上轉換爲NUMERIC(38,0)。 – Dan 2014-01-05 13:21:27
我正在處理一個Bigint數據類型在一個DataGridView顯示搞得像這樣
something = (int)(Int64)data_reader[0];
你試圖沮喪嗎? – Technacron 2017-05-14 00:20:11
你可以使用long
型或Int64
INT在SQL映射直接INT32也知道作爲一個基本類型即在C#而
BIGINT在SQL映射直接的int64 INT還知道作爲一個原語類型i。È浮子在C#
如果BigInteger的整數到已定義here
確定它不是整數溢出? – luqui 2012-08-09 16:38:57
有關更多數據類型的良好參考:http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.aspx – MacGyver 2012-08-17 14:47:40
遞歸堆棧溢出... – Nate 2013-08-30 13:25:27