这个真没什么好说。
规则不能为null的那就从源头控制不能为null。
如果没有规定不能为null,那么用的地方自然要判断,这是必不可少的。
规则不能为null的那就从源头控制不能为null。
如果没有规定不能为null,那么用的地方自然要判断,这是必不可少的。
解决方案 »
- 新手求助 关于SOA
- 救命:icsharpcode.texteditor 怎么实现第几行到第几行不可编辑啊!?
- Winform程序,执行耗时较长的操作时,如何显示一个让用户等待的窗口或信息。
- 滚动条滚动的时候,最小单位、最小精度是1个像素吗?
- 怎么制作根据文字长度而自动改变size的 Richtextbox
- 帮忙看一个传值的问题,非常感谢!
- 为什么在.net的任何一个文本框中,输入&#然后提交就出错呢?
- 求教:怎样用C#做ASP的组件?
- winform本地数据库与远程数据库同步方案
- 如何给文本文件加密 加密后 打开txt文件时提示输入密码
- 求帮:NPOI设置Excel单元格背景及合并问题?
- 求助 在方法中需要获取一个实体异步返回的值怎么获取?
不一定的。如果有a表和b表,你关联a表和b表的时候,b表没有相应的记录,它就null。而且和上面问的一样,会不会增加存储空间,如果你全部设置了默认值。
不一定的。如果有a表和b表,你关联a表和b表的时候,b表没有相应的记录,它就null。而且和上面问的一样,会不会增加存储空间,如果你全部设置了默认值。
???
这是 什么问题呢?关联不出记录关NULL什么事?最多查不出记录而已,返回表是空,你自然在程序中要去处理啊!
不能说多了判断,程序就不好了,你这算是一点小强迫
不一定的。如果有a表和b表,你关联a表和b表的时候,b表没有相应的记录,它就null。而且和上面问的一样,会不会增加存储空间,如果你全部设置了默认值。
你用 inner join就没Null,但是这样破坏了数据的完整性,Null是不可避免的
不一定的。如果有a表和b表,你关联a表和b表的时候,b表没有相应的记录,它就null。而且和上面问的一样,会不会增加存储空间,如果你全部设置了默认值。
你用 inner join就没Null,但是这样破坏了数据的完整性,Null是不可避免的打个比方说,A为主表,B为子表,A中有记录,但是B中用户没有填,这样你关联出来的数据中,Null是肯定会出现的,但是如果你用 inner join去消灭了Null,是不是条数变少了?数据完整性就是这个道理
this.煮鸡蛋.冲一下凉水();
这个方法,达到方便剥壳令用户满意的结果。
用DataReader读取数据行,如果为空,reader[0].ToString()也不会报错的(空字符串)
我目前就是在sql 语句中用isnull来判断,但是就怕sql语句效率会很低。
不能说多了判断,程序就不好了,你这算是一点小强迫
没有说不好,而是说会增加很多时间去排错。
我打个比方,我读a表的b字段,如果他等于某值我就去执行某个过程。
但在这之前你得判断他是不是空,如果有空,你就不能拿他去运算,不然就出错。
如果你的程序涉及到100个表,这些表相互关联,
这个null的判断就要命了,而且我个人的软件中,大部分的null判断没有意义。
我更倾向于在数据库中设置默认值或者sql语句中设置,基本上就不用再用其他时间排错了。
当然,我希望能找到更好的办法。
不能说多了判断,程序就不好了,你这算是一点小强迫
没有说不好,而是说会增加很多时间去排错。
我打个比方,我读a表的b字段,如果他等于某值我就去执行某个过程。
但在这之前你得判断他是不是空,如果有空,你就不能拿他去运算,不然就出错。
如果你的程序涉及到100个表,这些表相互关联,
这个null的判断就要命了,而且我个人的软件中,大部分的null判断没有意义。
我更倾向于在数据库中设置默认值或者sql语句中设置,基本上就不用再用其他时间排错了。
当然,我希望能找到更好的办法。
可以设置默认的就设置默认,但是并不是所有的字段都是有默认值的,而且即使有默认值,该判断还是要判断的,这是代码的逻辑问题,你总不能说:我的程序一定要按照这个流程走,按照其他流程走,就不行,你这是在将业务定死了,你总不能说,代码出bug了,是因为测试不按照你设定的流程走吧,所以这个判断是个基础,不过你可以将数据中操作封装起来,是底层交给上层使用前,已经判断好。
不能说多了判断,程序就不好了,你这算是一点小强迫
没有说不好,而是说会增加很多时间去排错。
我打个比方,我读a表的b字段,如果他等于某值我就去执行某个过程。
但在这之前你得判断他是不是空,如果有空,你就不能拿他去运算,不然就出错。
如果你的程序涉及到100个表,这些表相互关联,
这个null的判断就要命了,而且我个人的软件中,大部分的null判断没有意义。
我更倾向于在数据库中设置默认值或者sql语句中设置,基本上就不用再用其他时间排错了。
当然,我希望能找到更好的办法。
你有认真的看我的回复吗?我之前给你说了,如果你使用inner join,那么不会出现任何一个null,但是数据会不完整,只要你不是inner join,关联主子表,只要不是一对一的关系,或多或少都会出现null,这个根本是无法避免的,对不对?所以该判断的时候还是需要在C#中判断,你单独看每一张表,有可能一个null也没有
不一定的。如果有a表和b表,你关联a表和b表的时候,b表没有相应的记录,它就null。而且和上面问的一样,会不会增加存储空间,如果你全部设置了默认值。
你写sql语句的时候不会加个ifnull isnull?
比如我查找一个员工的权限,他的权限有几十项,我一个一个去判断null么?
这不科学对不对。