2012-02-28 59 views
15

我有下面的代碼行:SqlCommand的參數大小混亂

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID; 

但是,我稍稍感到困惑的使用size。這是說它的大小是4字節嗎?或長度爲4,所以1234是可以接受的,但是12345太大?

回答

23

對於類型的修復大小,你應該忽略此參數,簡單地說:

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID; 

尺寸參數僅相關與類型參數可以具有可變大小像varcharnvarchar

+2

+1,我應該寫相同的 – 2012-02-28 14:06:48

4

int的大小爲4個字節。

請參閱DbParameter class on msd n瞭解更多信息。這是相關的,因爲SqlCeParameter實現DbParameter

以下部分是相關的:

Size屬性用於二進制和字符串類型。

對於非串數據類型和ANSI字符串數據,Size屬性 指的是字節數。對於Unicode字符串數據,Size是指字符數 。字符串計數不包括 終止字符。

對於可變長度的數據類型,Size描述了要傳輸到服務器的最大數量的數據。例如,對於Unicode字符串 值,Size可用於將發送到 服務器的數據量限制爲前100個字符。

請參閱此https://gist.github.com/1932766以實現Size屬性。

2

它是4個字節,32位。它是一個32位整數。

+0

刷上這種東西http://www.beesky.com/newsite/bit_byte.htm – 2012-02-28 14:06:42

2

如果您打算使用int,那麼我認爲therre不管它的大小如何。

,所以你的代碼會

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID; 

對VARCHAR,navarchar其中大小maater你需要在你speicify大小,即在參數.NET代碼