我有一个字符串属性可能或不可为空。如何将可空字符串传递给来自C的SP#
db.AddInParameter(InsertMessageDetailCommand, "MyParam", System.Data.DbType.String, this.myParam);
领域在SP定义如下:
@MyParam nvarchar(50)
我怎样才能改变SP允许空值
我就用这个调用传递给SP ,如果参数值为空,稍后在SP中将一个空值插入数据库表中?
感谢
我有一个字符串属性可能或不可为空。如何将可空字符串传递给来自C的SP#
db.AddInParameter(InsertMessageDetailCommand, "MyParam", System.Data.DbType.String, this.myParam);
领域在SP定义如下:
@MyParam nvarchar(50)
我怎样才能改变SP允许空值
我就用这个调用传递给SP ,如果参数值为空,稍后在SP中将一个空值插入数据库表中?
感谢
要声明为可选的存储过程的参数:
@MyParam nvarchar(50) = NULL
例如:
CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL
)
AS
SELECT
*
FROM
TestTable
WHERE
((@Param1 IS NULL) OR (col1 = @Param1))
但请注意,这种模式,许多参数使用时,可能会导致由于“参数嗅探”而导致错误缓存的查询计划。
让我测试一秒...... – 2009-09-30 10:42:17
更新,错过了等号! – 2009-09-30 10:42:55
关键字'NULL'的语法不正确 – 2009-09-30 10:43:05
对不起 - 错误的粘贴代码,让我更新。 – 2009-09-30 10:41:28