Sql server System.Data.SqlClient.SqlException过程没有参数,并且提供了参数。我应该如何着手修复此错误?
我在VisualStudio中构建了一个数据库应用程序。当我运行时,会出现以下错误: System.Data.SqlClient.SqlException:程序sp_select_number_of_films没有提供参数和参数 我知道错误的意思,但我不知道如何在我的SQL代码中修复它。我已经尝试了一些小的调整,但我仍然得到相同的错误 存储过程:Sql server System.Data.SqlClient.SqlException过程没有参数,并且提供了参数。我应该如何着手修复此错误?,sql-server,Sql Server,我在VisualStudio中构建了一个数据库应用程序。当我运行时,会出现以下错误: System.Data.SqlClient.SqlException:程序sp_select_number_of_films没有提供参数和参数 我知道错误的意思,但我不知道如何在我的SQL代码中修复它。我已经尝试了一些小的调整,但我仍然得到相同的错误 存储过程: CREATE PROCEDURE [dbo].[sp_select_number_of_films] (@REC_ID_OUTPUT in
CREATE PROCEDURE [dbo].[sp_select_number_of_films]
(@REC_ID_OUTPUT int OUTPUT)
AS
SELECT COUNT(*)
FROM Film.Title;
EXEC dbo.sp_select_number_of_films
GO
应称之为:
DECLARE @sth INT;
Exec dbo.sp_select_number_of_films @sth OUTPUT;
但在存储过程中,您需要分配输出变量:
CREATE PROCEDURE [dbo].[sp_select_number_of_films]( @REC_ID_OUTPUT int OUTPUT)
AS SELECT @REC_ID_OUTPUT = COUNT(*)
FROM Film.Title;
并且您应该避免使用。旁注命名存储过程:您不应该为存储过程使用
sp
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用sp.
并使用其他东西作为前缀,或者根本不使用前缀!我这样做了,但它仍然给了我完全相同的错误。