最简单的解决方案在这里适用,因为ole db的工作方式是使用字符串。因此,要传递270、500、1000个参数,我要做的就是传递单个字符串,一个包含270个参数的字符串大概在2kb以下…在现代计算中,它沿用了1个…有性能损失。这里有一个xml解决方案,但这只是苹果和橘子,您仍在传递字符串,但是需要额外的代码来处理xml。所以…您的架构应如下所示:
具有270个输入参数的sql Server上的存储过程:
Create Procedure sp_Example1
(@param1 [type], @param2 [type], @param3 [type], etc…) AS BEGIN [sql statements] END
具有270个参数的命令对象:
sqlCommand cmd = new sqlCommand("sp_Example1", [sqlconnectionstring]);
cmd.Parameters.Add(New sqlParameter(“@param1”, param1.value)); cmd.Parameters.Add(New sqlParameter(“@param2”, param2.value)); cmd.Parameters.Add(New sqlParameter(“@param3”, param3.value));
请记住,您仍在进行大量操作,但是您的基准应该是旧的应用程序。如果情况更糟,我将不必担心,因为该框架需要更多的计算开销。
我不知道为什么它不会格式化代码…