c#修改sql的时候怎么才能修改单个的值

如题 string sql = "update t_UserInfo set age=@age,name=@name,sex=@sex where id = @id";这个是代码 在修改name的同时 age和sex也被修改成了0 怎么才能让除我想修改的其他值不变?不要去掉age和sex!

不要去掉age和sex!那就在外部传入它原来的值吧,你写的这个语句所有值都是外部传入,传入什么就改什么,如果你用的是dataset,可以取回原始值,如果是对象那就没有办法了。如果你想修改哪个属性才在数据库改哪个值,可以考虑用 ADO.NET Entity

string sql = "update t_UserInfo set name=@name where id = @id";只给name传参。

declare @t table (id int,name varchar(50))
insert into @t values(1,'abcd'),(2,'fffff')
select * from @t

declare @s varchar(50)
--set @s = 'aa'
update @t set name= isnull(@s,name) where id=2
select * from @t

要不想去掉就只能先查询在传入相同的值