2014-04-07 158 views
9

我想將表值參數作爲變量傳遞給存儲過程,並且在類SqlMetadata的構造函數中,可以指定想要添加的字符串的長度(long maxLength)在表格的列中。在表值參數中將nvarchar長度設置爲最大值

Microsoft.SqlServer.Server.SqlMetaData[] tvpdefinition = 
     { 

      new SqlMetaData("ValueOne", SqlDbType.NVarChar, 100), 
      new SqlMetaData("ValueTwo",SqlDbType.NVarChar, 100) 
     } 

一個如何可以去指定一個「最大」的長度,使得其與該列

ValueOne (nvarchar(max), not null) 

相對於100例如長度值

回答

13

In this article on MSDN它被指定對應你可以用這種方法設置最大尺寸

​​

看到最後例如上面提到的文章。
所以,不知道你的SqlMetaData類究竟是如何定義的,並且假定,最後一個參數是一個潛在的SqlParameter的大小屬性格式,我想你可以寫

Microsoft.SqlServer.Server.SqlMetaData[] tvpdefinition = 
{ 
    new SqlMetaData("ValueOne", SqlDbType.NVarChar, SqlMetaData.Max), 
    .... 
} 
+1

我只是檢查,現在,以及...在詢問之前應該檢查。道歉 – Arianule

+0

未採取任何冒犯行爲時不需要道歉。相反,你是一個有趣的問題,它是提高我的知識的有價值的方法。 – Steve

+2

順便說一句,你可以使用'SqlMetaData.Max'而不是-1,這可能會看起來更清晰。 –