[英]C# Nullable: How to build a FormUrlEncodedContent from Dictionary<string,string>
[英]How to pass a nullable string to an SP from C#
我有一个字符串属性,它可以为null或可以不为null。
我使用此调用将其传递给SP:
db.AddInParameter(InsertMessageDetailCommand, "MyParam", System.Data.DbType.String, this.myParam);
该字段在SP中定义如下:
@MyParam nvarchar(50)
如何更改SP以允许使用null值,并且如果param值为null,则稍后在SP中将null插入数据库表中?
谢谢
要将存储过程参数声明为可选:
@MyParam nvarchar(50) = NULL
例如:
CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL
)
AS
SELECT
*
FROM
TestTable
WHERE
((@Param1 IS NULL) OR (col1 = @Param1))
但是请注意,这种模式与许多参数一起使用时,可能会由于“参数嗅探”而导致错误地缓存查询计划。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.