如何判断ExecuteScalar()得到的结果是否有记录

it2022-05-09  33

对于ExecuteScalar如何判断得到的结果是否有记录呢,我找到3种方法

其一object objResult=tempCmd.ExecuteScalar();    if(objResult!=null&&!Convert.IsDBNull(objResult))调用Convert的IsDBNull来判断

其二,改变sql语句利用sql中的isnull函数,如下"select isnull(max(id),0) from employees"如果为空就返回0这个值

这里一个小技巧就是用max来得到值null,因为isnull是当值为null时候触发的,没有记录时候用max就可以将值变为null

另外可以 通过ExecuteNonQuery() 返回一个Int,表示受影响的行数,只对insert,delete,update返回受影响行数用这个是否为0来判断(这个方法没有试验过)

转载于:https://www.cnblogs.com/tuyile006/archive/2006/10/27/541749.html


最新回复(0)