關于ado.net的書籍和文章很多,在這里主要使用在我教學中給學生做演示的兩個小例子,來比較ado.net的連接式和斷開式,程序員一般不喜歡說教,下面就以代碼說話:
連接式:
sqlconnection sqlconn=new sqlconnection("server=.;database=pubs;user id=sa;password=;");
sqlcommand sqlcomm=new sqlcommand("select * from authors",sqlconn);
//操作在打開和斷開數據庫之間
sqlconn.open();
sqldatareader dr=sqlcomm.excutereader();
while(dr.read())
{
for (int i=0; i<dr.fieldcount; i++)
{
console.write(dr.getvalue(i).tostring()+" ");
}
console.writeline();
}
dr.close();
sqlconn.close();
斷開式
sqlconnection sqlconn=new sqlconnection("server=.;database=pubs;user id=sa;password=;");
sqldataadapter adapter=new sqldataadapter("select * from authors",sqlconn);
//用來自動生產更新命令
sqlcommandbuilder cb=new sqlcommandbuilder(adapter);
sqlconn.open();
dataset ds=new dataset();
adapter.fill(ds);
sqlconn.close();
//處理數據在打開和關閉之后
for (int i=0; i<ds.tables[0].rows.count; i++)
{
for (int j=0; j<ds.tables[0].columns.count; j++
{
console.write(ds.tables[0].rows[i][j]+" ");
}
console.writeline();
}
//更改數據
ds.tables[0].rows[0][1]="a";
ds.tables[0].rows[1].delete();
//更新數據庫
sqlconn.open();
adapter.update(ds);
sqlconn.close();
新聞熱點
疑難解答
圖片精選