// 2015/07/05using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.data;
using system.data.sqlclient;
namespace datareadersample
stuname = phone = ",stuid,stuname,phone);
// console.writeline("stuid: stuname = ", stuid, stuname);
}// 游標也必須關閉
reader.dispose();
}// 當讀取完成的時候,我們得到乙個集合,其中包含若干個的物件例項
// 這些物件例項的資料來自資料庫
foreach (studentmodel model in list)
",model.stuid,model.stuname,model.phone);
}console.readkey();
}}}/*
資料庫中的資料是 null,與.net下的null不一致
資料庫中的null在.net環境下,專門使用乙個特殊的型別來表示
system.dbnull.value
可用如下方法解決:
string region = null;
if(!reader.isdbnull(3))
//假如為整形方法如下:
可空型別,只能用於值型別
int? reportsto -= null;
//對於可控型別來說,現在也有兩個狀態
if(!reader.isdbnull(4))
*///另乙個類
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace datareadersample
set
}public string stuname
public string phone
}}//僅僅讀取第一行第一列的值方法如下
// 2015/07/05
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.data;
using system.data.sqlclient;
namespace datareadersample
", id);
}else
// 通過資料庫中的游標來輔助查詢結果
//sqldatareader reader = cmd.executereader();
// datareader 通過 read 方法來讀資料庫中的記錄
//if (reader.read())//}
console.readkey();}}
}
DataReader的使用總結
對學習.net的人來說ado.net應當是不陌生了,不過我在這裡還是想總結一下關於datareader的使用 datareader包括了兩種形式 sqldatareader和oledbdatareader,其中很多的用法和屬性都是相通的。首先datareader從資料庫當中檢索唯讀,只進的資料流,它...
DataReader關閉的問題
sqlcommand在每次執行executenonquery 方法之後,內部會生成乙個空的datareader物件,該物件只有在資料庫連線關閉之後,才會被釋放掉,加上上邊提到的,在dbhelper類中資料庫連線物件是乙個靜態的全域性變數。因為在同時呼叫api進行資料查詢時,在第乙個查詢還未結束,資料...
datareader和dataset的區別
dataset是乙個記憶體資料庫,你取資料的時候可以把資料放進去,資料取完就可以斷開連線了,這樣你就可以在dataset中去取資料,和資料庫就無關了。這樣非常方便,但有個問題,你把資料放記憶體裡,是要占用記憶體空間的,如果這個dataset中放了很多資料的話,效率就有問題了,你在乙個大的datase...