你在参数声明中使用了什么大小的varchar(MAX)?
在ADO.NET中创build参数时,我通常会设置列大小
但是,如果列是VARCHAR(MAX)
我使用什么大小?
cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
在这种情况下,你使用-1。
对于我们这些谁没有看到由米哈尔Chaniewski -1完整的代码行:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
最大SqlDbType.VarChar大小是2147483647。
如果你会使用一个通用的oledb连接,而不是SQL,我发现这里也有一个LongVarChar数据types。 它的最大尺寸是2147483647。
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
你不需要通过size参数,只要声明Varchar
就已经知道它是MAX就好了:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";