Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法识别命名的SqlParameters_C#_Stored Procedures_Sql Server 2012 - Fatal编程技术网

C# 无法识别命名的SqlParameters

C# 无法识别命名的SqlParameters,c#,stored-procedures,sql-server-2012,C#,Stored Procedures,Sql Server 2012,我试图从一个C#程序中访问一个存储过程,令人难以置信的是,我得到了 过程或函数“过程名称”需要参数“@agency”, 没有提供 除以下情况外: SqlCommand cmd = new SqlCommand(sp); cmd.Connection = conn; SqlParameter parm = new SqlParameter(); parm.ParameterName = "@agency"; parm.SqlDbType = SqlDbType.VarChar; parm.Siz

我试图从一个C#程序中访问一个存储过程,令人难以置信的是,我得到了

过程或函数“过程名称”需要参数“@agency”, 没有提供

除以下情况外:

SqlCommand cmd = new SqlCommand(sp);
cmd.Connection = conn;

SqlParameter parm = new SqlParameter();
parm.ParameterName = "@agency";
parm.SqlDbType = SqlDbType.VarChar;
parm.Size = 3;
parm.Value = txtAgency.Text.Trim();
cmd.Parameters.Add(parm);
存储过程如下所示:

CREATE PROCEDURE [dbo].[procedure_name]
(
    @agency varchar(3)
    , @subagency varchar(1)
    , @start datetime
    , @end datetime
)
AS
多年来,我一直在进行类似的存储过程调用,但在完全有效和正确的调用中,没有出现这种问题。顺便说一句,当从SQLManagementStudio执行时,这个存储过程工作得很好

请注意,我已经更改了参数的顺序,并对第一个参数得到了相同的响应,无论它是什么


当我在Visual Studio中的调试器下运行此命令时,我会确认PARM在预期位置具有必要的值。

您需要告诉
SqlCommand
它正在处理存储过程,如下所示:

SqlCommand cmd = new SqlCommand(sp);
-- add this line
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;

天哪,我真不敢相信我成了受害者。我已经对这些电话进行了数百次编码——而且编码正确!现在我觉得比以前更傻了。谢谢你没有对我大喊大叫。@Cyberherbalist:errare humanum est-人类确实会犯错误-尽量不要犯同样的错误一次两次:-)你太晚了-我以前犯过这个错误。很明显,最近我还没有意识到错误的出现。@GrantWinney,正如你所意识到的,Marc_s在抽签时击败了你,但是谢谢你的评论和回答,因为这是我第一次看到的,并且做了facepalm。@GrantWinney,所谓的复制品几乎是在问这个问题的同时被问到的(还看不到确切的时间戳)。你为什么不把另一个标记为复制品呢?我知道这对我没有任何不利,而且肯定不会造成任何痛苦,@GrantWinney,但如果我告诉你这伤害了我的感情,你会介意吗?:-)别担心,我真的不会觉得被轻视!只是为了掩饰我在这个世界上的痛苦而已。不,不!“我喜欢事物的本来面目,”格兰特妮,相信我!只要我的名声提高,一切都好。