这里有个奇怪的问题。我有一个DBA更改一些SQL Server存储过程参数的顺序和一些语句失败。但是,这些声明来自于通过SqlCcommand
的C#asp.net 4.0调用。我全都读过SqlCommand
默认使用命名参数。但是,当我在SQL Server探查器中看到输出时,它对前两个参数使用了错误的顺序。
using (var con = new SqlConnection(connectionString))
{
con.Open();
var cmd = new SqlCommand("usp_MySp", con) { CommandType = CommandType.StoredProcedure };
cmd.Parameters.AddWithValue("@UserId", userId);
cmd.Parameters.AddWithValue("@ItemId", itemItemId);
cmd.Parameters.AddWithValue("@LastParm", "x");
cmd.ExecuteNonQuery();
bResult = true;
}
我在探查器中的存储过程混合了前两个:
exec usp_MySp @UserId='99903E7D-385B-4460-900F-6555756D275F',@ItemId='AAA0C211-C49C-43B3-B182-01A05D28087C',@lastParm='x'
我搜索过,是否有一些东西让它被命名为位置?感谢