如何实现sql更新语句拼接,依据对变量的赋值来执行相应部分

hhr1222 2017-03-15 04:07:09
例如 这条语句 UPDATE dbo.AB SET NICK='" + nick + "',SEX='" + sex + "' WHERE ID='" + id + "'
当我只赋值nick=寂寞,时,数据库中sex就变成空。如何实现我赋值哪个变量就更新哪一个,其他的不变 。
根据对变量的赋值来更新相应字段,未进行赋值的不改变
...全文
237 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoshangYanYu 2017-03-15
  • 打赏
  • 举报
回复
引用 5 楼 baidu_36872367 的回复:
可以来一份实例吗
最简单的就是4楼的办法。。。想要更新哪个列就写哪个列。。。最安全
peng2739956 2017-03-15
  • 打赏
  • 举报
回复
用ORM框架呗,或者自己手动写一个DML的BASE CLASS 反正也容易
HW_1549924525 2017-03-15
  • 打赏
  • 举报
回复
if(!string.IsNullOrEmpty(nick))
{
sql+=" And nick=@Nick";
//paramAdd
}
if(!string.IsNullOrEmpty(sex))
{
sql+=" And sex=@sex";
//paramAdd
}
hhr1222 2017-03-15
  • 打赏
  • 举报
回复
可以来一份实例吗
xuggzu 2017-03-15
  • 打赏
  • 举报
回复
像更新哪个就只写哪个,其它段不要写就行了。
正怒月神 2017-03-15
  • 打赏
  • 举报
回复
同楼上,手工判断。 但是如果你想一劳永逸,那你可以自己写一个帮助类通过反射,如果值为null,则该字段不拼接。 可是这种一般都要求字段和属性同名。 当然你也可以使用ef
  • 打赏
  • 举报
回复
if(!string.IsNullOrEmpty(nick))
{
sql+=" And nick=@Nick";
//paramAdd
}
hhr1222 2017-03-15
  • 打赏
  • 举报
回复
有帮忙的吗,

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧