存储过程有2个参数

Joe*_*ran 1 c# sql vb.net sql-server stored-procedures

我有一个存储过程,它有3个参数:让我们调用它们@a,@b,@c,所有都是可选的.

在存储过程中,它们使用以下顺序定义: @a,@b,@c

基于我迄今为止的研究,从.NET代码我应该能够以任何顺序调用它们:

例如:

.Add(New OleDbParameter("@c", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "c", DataRowVersion.Current, c))

.Add(New OleDbParameter("@a", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "a", DataRowVersion.Current, a))
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,存储过程仍然认为传递的第一个值是a,第二个值是c.

这有什么不对?