c#开发cast( (case when b.pbproject_ID is null then 1 else 0 en

c#开发cast( (case when b.pbproject_ID is null then 1 else 0 end) as bit ) as
if (Convert.ToBoolean(this.grvQuery.GetDataRow(i)["xz"]) == true)
{
selected = true;
}
上面那个是条件
远的呆在 1年前 已收到1个回答 举报

limggg 幼苗

共回答了19个问题采纳率:94.7% 举报

cast( (case when b.pbproject_ID is null then 1 else 0 end) as bit ) as xz
这个是sql语句吧,cast()是用于转换数据类型的 如case('222' as int) 把字符串转换成整型
case when then是条件判断
整句的意思就是:
case when b.pbproject_ID is null then 1 else 0 end——当b.pbproject_ID为空数据时值为1,否则值为0
再用cast转换成bit类型的xz字段
if (Convert.ToBoolean(this.grvQuery.GetDataRow(i)["xz"]) == true)
就是把this.grvQuery.GetDataRow(i)["xz"]的值转换成布尔类型再判断是否为true,当为true时执行下面的变量赋值

1年前 追问

2

远的呆在 举报

我主要是这句搞不懂this.grvQuery.GetDataRow(i)["xz"] 这个是得到那一行 后面又跟个前面传过来的xz是什么意思

举报 limggg

this.grvQuery.GetDataRow(i)["xz"] 没有指定是哪一行,是当第i行xz这一列的值转换成布尔类型等于true时就执行{……}里的代码,不知道你前面的代码是怎么样,按意思就是i的值是会变的,只要当i行xz这一列的值符合判断条件就执行
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.113 s. - webmaster@yulucn.com