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 ...