C判斷SqlDataReader的結果是空還是NULL

2021-04-24 07:20:38 字數 1408 閱讀 3301

1樓:一無安慰

fieldcount屬性返回當前行中的列數,你的sql只查詢st_brithday這一列,自然永遠都返回1.下面來說你提到的

內兩種情況。容

1.沒有符合條件的記錄。

那麼查詢結果為空,記錄集的行數應該是0。你可以去判斷sqldatareader.hasrows,如果返回true,則表示查詢到了記錄,否則表示沒有符合條件的記錄集。

2.又符合條件的記錄,但是某列值為null,就這樣判斷:

if(read["st_brithday"] == dbnull.value)

2樓:匿名使用者

reader.read()為true的話bai就肯定有資料,只是這du個資料有可能是

zhidbnull

dbnull轉成c#語言之後就dao是null物件了if(reader.read())

具體答也不知道你要實現怎麼功能,我只能這樣提示你了!

3樓:匿名使用者

判斷有沒有記錄 看是否返回一行資料, 看結果是不是大於0,大於0就是有記錄啦。。明白嗎?

4樓:匿名使用者

樓主可以將查詢出的資料使用sqldatareader物件的read()方法讀取的時候,

判斷sqldatareader物件[列名]==null。這樣的話就可以了。

5樓:怕破瓦落地

string sql = "select isnull(st_brithday,'') from students where st_id = 8";

用c#連線資料庫的時候 讀資料是datareader.hasrows 和datareader.read()這兩個有什麼明顯的區別那

6樓:匿名使用者

很明顯,從字面意bai思理解就可以了

duhasrows表示的是從資料

zhi庫讀dao出來的內資料集datareader中是否存在資料,它的作用是容用來判斷資料集是否為空,執行的結果為 true/false

read才是真正的讀資料,採用的是一條一條不可回的順序讀法,每執行一次read,datareader的當前資料往後移了,所以要通過迴圈來讀取比如:

while(datareader.read() != null)

7樓:匿名使用者

hasrows判斷是否有row,而read則從當前行讀一行,返回是否成功,reader的當前行向下移一行

8樓:匿名使用者

hasrows是sqldatareader的一個屬性,其作用是獲取一個值,該值指示 sqldatareader是否包含一行或多行,專如果 sqldatareader 包含一行或多行,則為屬 true;否則為 false。

c時間判斷 語句,C 時間判斷 語句

你的str 和 nowtime不是都是字元型別的麼?並且格式都是一樣的。可以直接判斷啊,不需要轉換成datetime的if str.equals nowtime 個人建議你不要這麼寫 datetime.parse str 這句轉換出來的時候,會有時分秒的 而且datetime.parse str 這...

C語言判斷正誤。。賦值的問題,C語言 判斷直接賦值問題

char s 定義一個字元類指標 s olympic s指向的是字串 olympic 裡的第一個字元 o s可理解為字串 第二句若改成指向字元類指標的指標就可以正確賦值了,如下 char s s 這樣的s可理解為指向字串的指標,也可以理解為二維陣列 可以這麼理解第二句 char s 定義一個字元型指...

用c語言判斷數是否為素數,用c語言判斷一個數是否為素數

include include include int judge int x if x 1 return 0 main system pause main else if f printf no n else printf yes n include stdio.h include math.h ...