六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

親密接觸ASP.Net(10)

[摘要]接上一節,我們這一節主要計論如何使用DataSet,在數據庫中增加、修改、刪除一個數據。首先我們需要打開一個聯結,我們的數據庫還是用上一節的吧:)string MyConnString = "Driver=Microsoft Access Driver (*.mdb); DBQ=c:/t...
接上一節,我們這一節主要計論如何使用DataSet,在數據庫中增加、修改、刪除一個數據。

首先我們需要打開一個聯結,我們的數據庫還是用上一節的吧:)

string MyConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:/test/test.mdb;";
string strComm = "select * from UserList";
ADOConnection MyConnection = new ADOConnection(MyConnString);
ADODataSetCommand MyComm = new ADODataSetCommand(strComm,MyConnection);

這里我們為了講解方便,只在DataSet存入一個表的內容:

DataSet MyDataSet = new DataSet();
MyComm.FillDataSet(MyDataSet,"UserList");

此時我們就獲得了一個擁有UserList表數據的DataSet。在講解DataSet之前,我們還需要了解DataSet的結構下面是DataSet的結構樹

DataSet
RelationsCollection
ExtendedProperties
TablesCollection  
DataTables
 
Rows
Columns
其它
由于我們研究的是DataTable,其它的我們暫時不管他們。一個DataSet中包含多個DataTable,一個DataTable又包含有多個Row,這就是我們操作DataSet的基礎啦:)

添加數據

添加一數據,從上面的列表中我們可以看出,其實就是添加一行Row,這里我們也來演示一下如何添加一行數據,我們程序一切以DataSet為頂點,呵呵,如果TablesCollection,RowsCollection下去的話,還有一些煩人的dt.AcceptChanges這些方法的調用,很煩人,還是一次搞定吧。

DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = "周訊";
dr["ReMark"] = "100";
dr["Comment"] = "漂亮MM";
MyDataSet.Tables.Rows.Add(dr);

第一行,我們建立一個新的數據行,它用來儲存我們新加入的數據。然后我們在這個數據行中加入我們需要的數據。dr["UserName"]表明是對UserName字段進行添加,你可以使用dr[1]來添加信息,但是這需要我們事先知道字段在數據表的位置,而且在不知道數據表結構的情況很難知道我們添加的數據的對應情況,所以還是用字段名為好。

最后我們使用RowsCollection的Add方法,將我們新建這一行加入到數據表中。

修改數據

知道如何添加數據后,修改數據也是很簡單的事情了.

MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飛刀大哥";

這樣我們就修改了第一行數據中的UserName字段。

刪除數據

刪除數據,主要是使用RowsCollection提供的Delete方法,看下面的程序也是很簡單的事情啦:)

MyDataSet.Tables["UserList"],Rows[0].Delete();

這一行數據就已經被刪除了。

恢復數據

有時候我們添加/修改數據會出現錯誤,這時候,就需要恢復原來的數據。下面的程序,顯示如何判斷是否有錯誤發生:

if(MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
 

首先我們檢查DataSet中是否有錯誤發生,如果有就使用RejectChanges()方法,恢復DataSet中的數據。注意這里恢復是在DataSet中所有表以及表中DataRow中的數據,也就是在此交次操作的數據全部恢復。如果我們只需要恢復部分內容,我們可以使用DataTable或DataRow的RejectChanges(),這里就不詳細講解了,使用方法和DataSet一樣,只是操作的對像不同而已。

探測DataSet是否有改動

我們在將DataSet送交給數據庫去保存去,我們需要看看這個DataSet是否已經被改動了。如果沒有改動,我們也就沒有必要去修改數據庫了。

if(MyDataSet.HasChanges)
{
    //保存
}else{
    //不進行任何操作
}

更新數據庫

我們上面的操作,都只是針對DataSet的,沒有操作數據庫,但是我們的目的還是要將數據保存到數據中去,所以我們這里就需要調用DataSetCommand的Update方法。下面的程序顯示如何將DataSet的數據交給數據庫。

MyComm.Update(MyDataSet);

很簡單的一句,呵呵。這里要注意,如果一個DataSet中包含有多個表,而我們只更新一個,那我們就必須寫明更新的數據表名:

MyComm.Update(MyDataSet,"UserList");

當Update方法被調用后,DataSetCommand會將數據庫中的數據與DataSet中的數據相比較,對不相同的地方進行更新。

對于DataSet的操作,我們這里只講這么多,其實DataSet的方法和屬性有很多,功能也很全,我想現在這里的所講的功能,對一般的操作已經足夠了。


 



主站蜘蛛池模板: 午夜国产精品免费观看 | 欧美一区日韩一区中文字幕页 | 日本中文字幕网 | 手机看片99 | 亚洲 日本 欧美 中文幕 | 亚洲网站在线免费观看 | 欧美一区二区在线观看 | 亚洲成a人片在线观看播放 亚洲成a人片在线观看www | 亚洲 欧美 91 | 欧美一级α片 | 日韩欧美视频在线播放 | 日产国产精品久久久久久 | 青青青爽国产在线视频 | 亚洲一二三在线 | 性网站免费 | 色网址在线 | 婷婷综合缴情亚洲五月伊 | 青草国产在线观看 | 日韩一卡 二卡 三卡 四卡 免费视频 | 日本福利在线 | 性荡视频播放器在线视频播放 | 夜间免费视频 | 伊人色在线 | 搜索黄色毛片 | 日韩黄色毛片 | 永久免费观看午夜视频在线 | 中文字幕第一页在线播放 | 天堂资源在线www中文 | 午夜视频在线观看182tv | 天天综合天天添夜夜添狠狠添 | 日韩中文字幕精品视频在线 | 日不卡| 日本成人免费网站 | 欧美一级成人一区二区三区 | 色天使色婷婷在线影院亚洲 | 日日干干| 日本大片在线免费观看 | 日韩一级欧美一级在线观看 | 在线a视频免费观看 | 亚洲大尺度视频 | 中文字幕在线观看不卡视频 |