.net SQLclient SqlCommand参数使用位置未命名

时间:2017-02-10 18:01:19

标签: c# sql-server stored-procedures sqlcommand

这里有个奇怪的问题。我有一个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'

我搜索过,是否有一些东西让它被命名为位置?感谢

0 个答案:

没有答案