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个回答 分类:综合 2014-10-06

问题解答:

我来补答
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时执行下面的变量赋值
再问: 我主要是这句搞不懂this.grvQuery.GetDataRow(i)["xz"] 这个是得到那一行 后面又跟个前面传过来的xz是什么意思
再答: this.grvQuery.GetDataRow(i)["xz"] 没有指定是哪一行,是当第i行xz这一列的值转换成布尔类型等于true时就执行{……}里的代码,不知道你前面的代码是怎么样,按意思就是i的值是会变的,只要当i行xz这一列的值符合判断条件就执行
 
 
展开全文阅读
剩余:2000