我有以下存储过程
CREATE PROCEDURE [dbo].[usp_GetData]
@foo VARCHAR (20), @bar bit = 1
AS ...
这在 SSMS 中调用时提供了正确的结果。
EXEC dbo.usp_GetData @foo = 'Hellow World', @bar = 0
虽然在 C# 应用程序中调用时,如下所示
cmd.Parameters.Add(new SqlParameter("@foo", foo));
cmd.Parameters.Add(new SqlParameter("@bar", 0));
& 由探查器捕获,如下所示。
exec dbo.usp_GetData @foo=N'Hello World',@bar=default
是否必须以不同方式传递覆盖默认值的参数?