asp 数据库如何判断返回的值不存在

数据库条件读取,条件:a相同的继续,没有返回b... 数据库条件读取,条件:a 相同的继续,没有返回b 展开
 我来答
liuhanxuzml
2011-08-31 · 超过26用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:74.5万
展开全部
在编写sql语句时,如果要和null做比较判断,必须使用is null 或者is not null,不能使用=null 或者!=null这种比较形式。

原因是,null是一种特殊的值,既不是0,也不是'''',而表示“空”,即不存在的意思。所以,是无法像字符串和数字那样进行比较的。is null就表示不存在,is not null就表示存在。

1、真正的空值,也就是“没有输入的值”,可以出现在大多数类型的字段中(如果没有别的约束条件),SQL server中表示为null,显示为<NULL>,手工在SQL server企业管理器中输入的方法是按Ctrl+0。它在.NET中对应System.DBNull.Value。在T-SQL命令中,判断一个值是不是空值,要用“is null”而不是“= null”;处理空值有个ISNULL函数,它使用指定的值替换null。用ADO.NET从数据库得到的空值无法自动转化为空字符串或Nothing,须手动检测:如果得到System.DBNull.Value,则赋给数据对象Nothing或其它自定义的有意义的值。

2、空字符串(零长度字符串),只出现在字符串类型(如nvarchar)的字段中,SQL server中表示为'',显示为空白,手工在SQL server企业管理器中输入时清空一个单元格即可。它在.NET中对应System.String.Empty,也就是我们常用的""。在T-SQL命令中处理空字符串和处理一般的字符串没什么区别。用ADO.NET从数据库得到的空字符串也和一般的字符串没什么区别。

相关的概念还有VB.NET中的Nothing和对应于C#.NET中的null(注意这个null是C#.NET中的null而非SQL Server中null),它们在.NET中是表示不引用任何对象的空引用的值,在传入SQL server时,根据不同的上下文环境,可能存为真正的空值(比如在更新一个字符串类型的字段值时),也可能调用在SQL server中自定义的默认值(比如传给一个有默认值的存储过程参数),也可能因为无法进行类型转换而引发.NET异常。因此在用ADO.NET向SQL server中存储数据时要慎用Nothing。
浮阔0hs
2011-09-02 · TA获得超过115个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:95.3万
展开全部
问我吗?请把问题说清楚,并附上分值,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式