将参数传递给存储过程出错[关闭]

问题描述 投票:-5回答:1

我有一个存储过程,我正在调用它有三个参数,但对于我的生活,我没有看到我的语法在c#中有什么问题

var _accountREFCurrrent = new SqlParameter("@AccountRef", SqlDbType.NVarChar);
    _accountREFCurrrent.Value = account.ACCOUNT_REF;

var _SortOrder = new SqlParameter("@SortOrder", SqlDbType.Int);
     _SortOrder.Value = first.SORT_ORDER;

var _CATEGORY = new SqlParameter("@CATEGORY", SqlDbType.Int);
     _CATEGORY.Value = first.CATEGORY;

var result = db.Database.SqlQuery<sp_sumbalances_Result>("sp_sumbalances_Result
@AccountRef @SortOrder @CATEGORY", new object[] { _accountREFCurrrent, 
_CATEGORY  ,_SortOrder }).ToList();

它有点愚蠢我不对它在管理工作室中返回数据是正确的

enter image description here

在管理工作室从上面返回的数据。

enter image description here

你会看到我在.net中遇到的错误

enter image description here

c# sql
1个回答
3
投票

参数之间缺少逗号,变量顺序错误:

var result = db.Database.SqlQuery<sp_sumbalances_Result>("sp_sumbalances_Result
@AccountRef @SortOrder @CATEGORY", new object[] { _accountREFCurrrent, 
_CATEGORY  ,_SortOrder }).ToList();

应该:

var result = db.Database.SqlQuery<sp_sumbalances_Result>("sp_sumbalances_Result
@AccountRef, @SortOrder, @CATEGORY", new object[] { _accountREFCurrrent, _SortOrder, 
_CATEGORY}).ToList();
© www.soinside.com 2019 - 2024. All rights reserved.