select 结果的处理
select的结果有两种可能:
1.有n条记录;
2.无记录;
可以用 while (dr.Read())来判断;
记录的值有两种可能:
1.有效值,又可能为<0,=0,>0;
2.空值;如果将空值付给变量,则会报“数据为空。不能对空值调用此方法或属性”的异常;
在程序中可以使用if (!dr.IsDBNull(0))来判断是否为空值;
一般情况下,若判断为空,可给调用者一个特殊的值,返回什么暂时没查到;
另外,可以在SQL语句中用ISNULL处理,比如 :
SELECT isnull(Value,0) FROM v_AnalogLive WHERE TagName IN ('DXYFJJK1_001BJJD')
含义是,如果value值为NULL,则返回0;返回何值在第2个参数处设定,这就相当于 :
if (!dr.IsDBNull(0))
r = 0;