【发布时间】:2013-10-03 03:11:22
【问题描述】:
我有以下存储过程
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
是否必须以不同的方式传递覆盖默认值的参数?
【问题讨论】:
-
一个位是一个布尔值,如果你传递 false 而不是零会发生什么?
-
他试图为 bit 传递 'false' 而不是默认值。如果您尝试传递 'false' 而不是 '0' 会发生什么?
-
我想在上面的代码中提供一个参数 & am 但是当 SQL 被传递到数据库时它有
default而不是0这是我为@bar参数添加的@gunr2171 -
让我试试@jcwrequests
标签: c# sql sql-server tsql stored-procedures