有一个表student的字段如下:id,fsn,name其中id是标识字段,fsn是主键
我的存储过程如下:create proc getStudent(@id int =null,@fsn=null,@name=null)
as
select * from student
where id=isnull(@id,id) and fsn isnull(@fsn,fsn) and name=isnull(@name,name)我的目的是想根据不同的条件来查询表中的数据
上面的存储过程在SQL中运行能达到要求,但是现在我是通过C#来调用这个存储过程,public selectStudent(student s){}
我在c#中定义了一个实体类student,包含三个字段,自然就是表的三个字段
我写了一个方法调用上面存储过程,传入的参数就是这个实体类,
现在我在C#中调用这个方法时,我传入的参数实体s,只有当这个实体对象的前个属性都赋值时才能查询正常,第三个要不要都可以,现在我想要前两个也像第三个一样,不赋值的情况下也能进行正常查询,按道理是如果S对象的三个属性一个都不赋值的情况下是查询所有的记录,当我只申明了一个student对象s,而没有对其任何属性进行赋值的时候,直接把s传入,一条数据都没有查询到,我要怎么来改都能达到这种效果呢,实在是没有足够的分了,请各位高手帮助