谁能帮我解释一下下面的语句

littlechang 2004-10-10 05:25:21
"select KPDJ_ZDRQ,KPDJ_DJBH,KPDJ_CKCKBH,KPDJ_RKCKBH,KPDJ_ZDRMC,KPDJ_BZ,KPDJ_BH from KPDJ " + ((strSHBZ=="" && strYWLX=="" && strDWBH=="")?"":" where ") + (strSHBZ==""?"":" KPDJ_SHBZ='" + strSHBZ + "'" + (strSHBZ==""?"":" and ")) + (strYWLX==""?"":" KPDJ_YWLX in(select YWLX_BH from YWLX where YWLX_DJBZ in (" + strYWLX + "))") + (strDWBH==""?"":" and KPDJ_DWBH='" + strDWBH + "'");

主要是 from KPDJ后面的,象
strSHBZ=="" && strYWLX=="" && strDWBH=="")?"":"
是什么意思?
我实在不能理解,请帮忙,谢谢了
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxt 2004-10-10
  • 打赏
  • 举报
回复
( ? : )是一个三目运算符
((strSHBZ=="" && strYWLX=="" && strDWBH=="")?"":" where ")
(strSHBZ==""?"":" KPDJ_SHBZ='" + strSHBZ + "'" + (strSHBZ==""?"":" and "))
(strYWLX==""?"":" KPDJ_YWLX in(select YWLX_BH from YWLX where YWLX_DJBZ in (" + strYWLX "))")
(strDWBH==""?"":" and KPDJ_DWBH='" + strDWBH + "'")
分别是四个表达式,构成你sql语句的where条件,如果每个的?前的条件语句是true则是空格"",否则就是:后面的字符串
luqixing 2004-10-10
  • 打赏
  • 举报
回复
这是一个三目运算符,如果strSHBZ=="" && strYWLX=="" && strDWBH=="")成立,那么就没有where,也就是说你的SQL语句就是select,KPDJ_DJBH,KPDJ_CKCKBH,KPDJ_RKCKBH,KPDJ_ZDRMC,KPDJ_BZ,KPDJ_BH from 表,如果strSHBZ=="" && strYWLX=="" && strDWBH=="")不成立,那么你的SQL查询就得加上后面的where限制条件,我是这么理解,请各位高手指教!
zhangzhiwei 2004-10-10
  • 打赏
  • 举报
回复
如果strSHBZ=="" && strYWLX=="" && strDWBH==""的条件为真,查询的条件where 为空。
为假条件就是:号后面这些。依次类推。
生活真美好 2004-10-10
  • 打赏
  • 举报
回复
gz
wangdequan1024 2004-10-10
  • 打赏
  • 举报
回复
不懂,顶
zhangzhiwei 2004-10-10
  • 打赏
  • 举报
回复
这是一个if ....else 的缩写

110,549

社区成员

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

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

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