昨天晚上买了一个sql的新书,特别的高兴,晚上就阅读了很多,突然发现以前经常在SQL中使用的case when的用法,以前在csdn上面看到好多,但是就是不知道怎么用,可能那个时候还没有用到的地方,不过现在就不一样了,看过那短短的3页纸之后,加强领悟了一个已经领悟的道理:书本还是要的,网络不可以解决所有的问题!
至于case when用在那里,我在这里只是用到了一小部分,一个是与否的问题;
如图所示:

以前的做法是在DataGrid_ItemDataBound事件里面处理,
大概的做法是这样写的

 1 Private Sub DataGrid1_ItemDataBound()Sub DataGrid1_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Datagrid1.ItemDataBound
 2                If (e.Item.ItemIndex <> -1) Then
 3            ' e.Item.Cells(1).Text = System.Convert.ToString(e.Item.ItemIndex + 1 + DataGrid1.CurrentPageIndex * DataGrid1.PageSize)
 4            If e.Item.Cells(5).Text.ToString = "False" Then
 5                e.Item.Cells(5).Text = "没有通过"
 6                e.Item.BackColor = Color.LightSkyBlue
 7
 8            Else
 9                If e.Item.Cells(5).Text = "True" Then
10                    e.Item.Cells(5).Text = "已经通过"
11                End If
12            End If
13        End If
14    End Sub

超级麻烦,不过可以定义背景颜色,也很不错
昨天看了case when的用法之后,才知道不要那么麻烦了

 1Select
 2a.UserBorrowID,a.UserID,a.BookID,a.BorrowDate,b.UserName,c.Title ,a.GoOnDate,a.IsReturn,
 3a.IsGoOn,
 4a.ReturnDate,
 5    case a.IsGoOn 
 6    when 1 then '是'
 7    when 0 then '否'
 8    END As IsGoOnBorrow,
 9    case a.IsReturn 
10    when 1 then '是'
11    when 0 then '否'
12    End as IsReturn1
13from Library_Borrows as a,Library_books as c,Library_Users as b 
14where
15a.bookid=c.bookid and a.userid=b.UserID  and a.UserID=@UserID
16ORDER BY a.ModifyDate DESC

^_^,建立一个存储过程,然后就不用再ItemBound里面写了。这样就可以解决问题,当然还可以拓展开来,比如可以用case when 的搜索形式进行变换字符串 case when GoOndate<... then '通过' 这样就可以减少在.vb中写代码了。
但是现在还不知道性能怎么样,因为我对测试性能是一无所知。

Case When 解决简单的是与否相关推荐

  1. 使用队列(Queue)解决简单的并发问题

    使用队列(Queue)解决简单的并发问题 参考文章: (1)使用队列(Queue)解决简单的并发问题 (2)https://www.cnblogs.com/fire909090/p/8029104.h ...

  2. Unity Shader - Offset 的测试,解决简单的z-fighting情况

    使用OpenGL Polygon Offset解决简单的z-fighting,复杂的就没办法了,只能使用其他方法,如:模板缓存 其对应Unity中使用的是Shader中的Subshader/Pass ...

  3. [数据库] Oracle使用CASE判断解决多值问题

    这是最近在使用Oracle数据库时的一个问题,个人认为是一个非常经典的问题.假设现在有一张专业表,包括如下信息: 其中表为:ZY_TAB(ZY_NAME,ZY_CODE,ZY_TYPE,ZY_TIME ...

  4. 初学者利用c语言解决简单的数学问题

    c语言是一款面向用户十分精确的底层语言,为了初步更好的学习它,我们可以自建一些小程序来简单的完成基础数学问题,或者是方便生活的小软件 例如:鸡兔同笼:华氏度摄氏度之间的转换:坐标系内求两点的长度:计算 ...

  5. python解决数学问题的实例_用python解决简单的数学问题

    前面我们已经学了如何python处理整数.分数.小数.复数,同时也学习了一些处理不同类型数据的一些方法.下面就来解决一些简单的数学问题. 比较两个数的大小 #!/usr/bin/python 2 #- ...

  6. 利用k-means算法解决简单的无监督图像识别任务

    k-means Clustering(k平均聚类算法) 简介: 无监督学习对图像进行分类时,可以采用k-means算法.该算法实现简单,运行速度快.该算法要求事先知道数据所具有的类别数.k-means ...

  7. matlab使用linprog()函数解决简单的线性规划问题

    *matlab关于用linprog函数求解简单的线性规划问题 问题描述 这是一道高中都见过的线性规划题目,那接下来我们将用linprog函数来求解目标函数的最优解即最大值 一.Matlab代码如下 & ...

  8. 用BP神经网络解决简单的分类问题

    有关于BP神经网络原理前人之述备矣,这里就暂且略过.从一年前第一次接触机器学习到现在,已经学习很多类似的智能学习算法,无论是遗传算法.群算法.模拟退火算法还是神经网络算法,在有监督的学习算法中,无非就 ...

  9. 大一python基础编程题水果_【教程】简单教程:用Python解决简单的水果分类问题...

    在这篇文章中,我们将使用Python中最流行的机器学习工具scikit- learn,在Python中实现几种机器学习算法.使用简单的数据集来训练分类器区分不同类型的水果.这篇文章的目的是识别出最适合 ...

最新文章

  1. 封闭已久的智能驾驶系统,在云栖大会上,被敲开一个裂缝
  2. 【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)
  3. OmniMarkupPreview 插件404 error on preview
  4. Android 获取静态上下文(Application)
  5. 20165332第六周学习总结
  6. proxy_set_header的设置
  7. Unix操作系统常用命令
  8. 汽车故障检测仪计算机教程,如何使用汽车故障诊断仪进行汽车维修
  9. 活动|域名转入专场活动
  10. 【打卡】汽车领域多语种迁移学习挑战赛
  11. 共享租车平台“车便利租车”完成A轮融资
  12. 安卓逆向-修改APK-战斗直接胜利
  13. 指数计算机在线使用,ffmi(在线ffmi指数计算器)
  14. 腾讯技术开放日 | 腾讯会议如何进行视频质量评估与优化?
  15. 利用FFmpeg玩转Android视频录制与压缩(二)
  16. Appscan测试工具简介
  17. VUE之Vxe-table动态生成多级表头及后端返回数据的处理
  18. 缺陷管理:说一说bug的状态和解决方案
  19. linux内核移植(imx6ull-飞思卡尔)
  20. BI自动化之Python自动发报告(查询数据库生成报表和图片嵌入邮件)

热门文章

  1. Java项目:在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)
  2. 【蓝桥java】进制与整除之尼姆堆
  3. 【jsp】兴唐第三十节课作业
  4. elasticsearch 文档操作
  5. Linux查看文件内容的5种方式
  6. VUE做一个公共的提示组件,显示两秒自动隐藏,显示的值父组件传递给子组件
  7. ext前后台数据传输的标准化
  8. 零基础学习Python需要注意的几个点,Python培训机构排名
  9. Pycharm开发环境设置与熟悉。
  10. ThinkPHP子类继承Controller类的注意事项