Ari*_*ule 12 c# sql stored-procedures table-valued-parameters
我想将一个表值参数作为变量传递给存储过程,并且在类SqlMetadata1 的构造函数中,可以指定要在表的列中添加的字符串的长度(long maxLength).
Microsoft.SqlServer.Server.SqlMetaData[] tvpdefinition =
{
new SqlMetaData("ValueOne", SqlDbType.NVarChar, 100),
new SqlMetaData("ValueTwo",SqlDbType.NVarChar, 100)
}
Run Code Online (Sandbox Code Playgroud)
如何指定'max'长度以使其与此列对应
ValueOne (nvarchar(max), not null)
Run Code Online (Sandbox Code Playgroud)
例如,与长度值100相反
Ste*_*eve 18
在MSDN上的这篇文章中,指定您可以用这种方式设置MAX大小
SqlParameter myParam = new SqlParameter("@paramName", SqlDbType.NVarChar, SqlMetaData.Max );
Run Code Online (Sandbox Code Playgroud)
请参阅上述文章的最后一个示例.
所以,在不确切知道你的SqlMetaData类是如何定义的情况下,假设最后一个参数是底层SqlParameter的大小属性,我想你可以写
Microsoft.SqlServer.Server.SqlMetaData[] tvpdefinition =
{
new SqlMetaData("ValueOne", SqlDbType.NVarChar, SqlMetaData.Max ),
....
}
Run Code Online (Sandbox Code Playgroud)