判斷ExecuteScalar 是否返回結果

2021-04-21 00:24:12 字數 630 閱讀 9431

executescalar()返回的是首行首列的值,一般用於執行這類查詢

select count(*)from table

返回的型別是 object,如果資料庫中沒有任何記錄時,如何判斷呢?以下是方案:

其一、呼叫convert的isdbnull來判斷

object objresult=tempcmd.executescalar();

if(objresult!=null && convert.isdbnull(objresult))

其二,改變sql語句利用sql中的isnull函式,如下

"select isnull(max(id),0) from employees"如果為空就返回0這個值

這裡乙個小技巧就是用max來得到值null,因為isnull是當值為null時候觸發的,沒有記錄時候用max就可以將值變為null

另外可以 通過executenonquery() 返回乙個int,表示受影響的行數,只對insert,delete,update返回受影響行數

用這個是否為0來判斷(這個方法沒有試驗過)

如果是access的話,if(objresult != null &&objresult.tostring() != ""),可能要這麼判斷才對。我試了下,是這樣。

ExecuteScalar 返回值問題

executescalar 返回值問題 dbcommand.executescalar 方法 執行查詢,並返回查詢所返回的結果集中第一行的第一列。所有其他的列和行將被忽略。語法 public abstract object executescalar 返回值 型別 system.object,結果集...

資料庫中的ExecuteScalar運用

資料庫中的executescalar運用,常常與聚合函式一起使用,用於統計資料庫中的某個欄位的個數,最大值,最小值,平均值等。下面就是統計登錄檔中的使用者個數 using system using system.collections.generic using system.data.sqlcli...

作業(判斷月份天數,判斷空,判斷季節)

1.輸入年 月,輸出本月有多少天 2004 2 29天2010 4 30天 coding utf 8 name 01 work.py date 1 12 19 author connect 971566031 qq.com desc year int input 請輸入年份 mon int inpu...