ALTER procedure [dbo].[sqlGetDeptList]
@p_deptname nvarchar(20) = null
as.................
中 @p_deptname nvarchar(20) = null
是什么意思,起到什么作用,
在调用sqlGetDeptList这个存储过程中,传值是这样的
exec sqlGetDeptList @deptName
cmd.Parameters.Add("@deptName", SqlDbType.VarChar).Value = deptname;
@p_deptname和@deptName没有对应
当传递的@deptName的值不同时,存储过程会有不同的结果
@p_deptname nvarchar(20) = null设置默认值而已。类似于C#中的参数默认值。
对于你那个调用,参数没对应那么是无效的,也就是说deptname没有传递到存储过程中。存储过程使用的是null这个默认值。