假设我有一个 3 列的表
ID Int
Name nvarchar(63)
Age Int
我有一个程序来搜索关键字输入的所有行匹配。
Create Procedure usp_Search
@KeyWord nvarchar(63)
as
begin
SEKECT * FROM TblPersonal
WHERE
@KeyWord IS NULL
OR @KeyWord = Age
OR Name Like N'%'+@KeyWord+'%'
end
当我使用 SQl 管理工具进行测试时,它工作正常
DECLARE @return_value int
EXEC @return_value = [dbo].[usp_Search]
@KeyWord = NULL
但是当在 ADO.net 中执行并传递DBNull.Value
给 SqlParameter 我有错误
“将数据类型 nvarchar 转换为数字时出错”
任何人都可以告诉我 ADO.net 和 SQl 管理工具的环境有什么不同