我试图将变量传递给我设置的存储过程,我将它们映射到参数映射选项卡中。我想我的语法可能不正确但我无法找到解决方案。
EXEC [dbo].[proc_GetQuarterlyEmailId]
@employeeNumber = ?,
@employeeFirstName = ?,
@employeeLastName = ?,
@employeeEmail = ?
我得到的错误是:
执行查询" EXEC [dbo]。[proc_GetQuarterlyEmailId] @employeeNu ..."失败并出现以下错误:"无法找到存储过程''。"。可能的失败原因:查询问题," ResultSet"属性设置不正确,参数设置不正确或连接未正确建立。
如果我从存储过程中删除参数并删除参数映射它运行完全正常,所以我知道它可以找到它。我正在使用ADO.NET连接。
答案 0 :(得分:3)
尝试在没有列出参数的情况下执行SP:
app.filter('test', function() {
return function(items) {
var filtered = [];
angular.forEach(items, function(el) {
if(el.modifiedBy && el.modifiedOn) {
el.createdBy = el.modifiedBy;
el.createdOn = el.modifiedOn;
}
});
for(var i = 1; i < items.length; ){
if(items[i-1].createdBy == items[i].createdBy){
items.splice(i, 1);
} else {
i++;
}
}
return items;
}
});
我总是使用这样的语法......从来没有遇到过问题......
如果在提供参数时过程返回某些行,则必须更改属性&#34; Reslut Set&#34;除了&#34;没有&#34; ...
以外的其他东西参数的映射因您使用的连接类型而异。 如果你使用OLE DB,你必须使用问号作为参数,正如我昨天提到的。并且用于映射&#34;参数名称&#34;列你必须使用数字0,1,2,... 我正在为#34;结果集&#34;附加样本照片。 =&#34;无&#34;,因为我有一个不返回eny结果集的SP。
同时检查此链接:https://msdn.microsoft.com/en-us/library/ms140355(v=sql.105).aspx
答案 1 :(得分:0)
此外,BypassPrepare可能为FALSE,否则会出现令人困惑的“参数设置不正确”错误。我习惯性地将其设置为TRUE。