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

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

用 DataSet 對象更新數據

[摘要]這個是我新做的一個小站,宗旨為“beginner to beginner”,因為我也是初學者:) 里面的“心得體會” 都是我自己寫的。大家知道,DataSet保存的數據是位于服務器內存里面的原數據庫的“副本”。所以用DataSet更新數據的過程就是先對“副本”進行更新,然后在將“原本”更新,按照我...

這個是我新做的一個小站,宗旨為“beginner to beginner”,因為我也是初學者:) 里面的“心得體會” 都是我自己寫的。
大家知道,DataSet保存的數據是位于服務器內存里面的原數據庫的“副本”。所以用DataSet更新數據的過程就是先對“副本”進行更新,然后在將“原本”更新,按照我的理解就是把“原本”覆蓋掉。具體到過程,首先是要找到需要更新的行,然后賦新值,最后更新原數據庫。要找到需要修改的行,比較方便的做法就是根據記錄中的某個值進行查找,這樣比用“列號”“行號”什么的方便多了。要做到這一點,首先就是要給數據庫指定一個主鍵,然后即可按照主鍵進行查找。要注意的是這個主鍵必須要是在程序中指定的,并且這個主鍵不一定和你數據庫原來有的主鍵一樣。然后就是最后的更新,當然是用DataAdapter的Update()方法借助CommandBuilder來實現,要注意的是,如果你的數據庫一開始沒有定義主鍵,那進行更新的時候會出錯,返回的錯誤將是“對于不返回任何鍵列信息的 SelectCommand 不支持 UpdateCommand 的動態 SQL 生成。”這是因為我們用的Update()實際上是通過CommandBuilder動態生成sql語句,然后才進行的數據庫操作。但如果你在一開始創建DataAdapter時的那個sql語句沒有包含有主鍵的列的話,那CommandBuilder將不會發生作用。這一點是必須要牢記的。說了這么多,如果有不明白的就看下面的程序,這個是我練習時寫的,里面有一些個人的設定,比如記錄名什么的,相信大家一看就明白。代碼拷貝框
<%@import namespace="System.Data"%><%@import namespace="System.Data.OleDb"%><script language="c#" runat="server">//定義處理更新的方法//因為是簡單示例,所以這個程序已經簡化,直接進行更新//這里有兩個參數,第一個用來查找需要更新的行,第二個是要修改的值private void up_date(int ids,string names){//連接字符串,不明白的可以看本專題第二篇文章string connstr=ConfigurationSettings.AppSettings["color"];OleDbConnection conn=new OleDbConnection(connstr);string sql="select * from member";OleDbDataAdapter ada=new OleDbDataAdapter(sql,conn);//建立一個DataAdapter對象//這里的CommandBuilder對象一定不要忘了,一般就是寫在DataAdapter定義的后面OleDbCommandBuilder cb=new OleDbCommandBuilder(ada);DataSet ds=new DataSet();//建立DataSet對象conn.Open();//打開連接ada.Fill(ds,"mems");//填充DataSetconn.Close();//注意及時關閉連接DataTable dt=ds.Tables["mems"];//建立一個DataTable對象,方便操作dt.PrimaryKey=new DataColumn[]{dt.Columns["id"]};//建立一個主鍵DataRow dr=dt.Rows.Find(ids);//根據參數查找到需要修改的行dr["name"]=names;//對需要修改的記錄賦新值ada.Update(ds,"mems");//用DataAdapter的Update()方法進行數據庫的更新}//定義用來響應按鈕單擊事件的方法private void b1_Click(object sender,System.EventArgs e){if(Page.IsValid){int ids=Int32.Parse(idst.Text);//取得要修改的行的id值,并轉換成int類型string names=namest.Text;//取得新值up_date(ids,names);//調用我們定義的方法處理lb1.Text="ok!";</script><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>用dataset更新記錄</title></head><body><asp:Label id="lb1" runat="server"/><form runat="server"><asp:TextBox id="idst" runat="server"/><asp:RequiredFieldValidator id="rfv1" ControlToValidate="idst" ErrorMessage="error!" runat="server"/><asp:TextBox id="namest" runat="server"/><asp:RequiredFieldValidator id="rfv2" ControlToValidate="namest" ErrorMessage="error!" runat="server"/><asp:Button id="b1" Text="here!!" OnClick="b1_Click" runat="server"/></form></body></html>
[Ctrl+A 全部選擇 然后拷貝]


主站蜘蛛池模板: 台湾美性中文娱乐网 | 天天看天天碰 | 四虎免费影院ww4164h | 五月婷婷丁香花 | 三区在线观看 | 亚洲乱码一二三四五六区 | 日本在线天堂 | 亚洲一区二区在线 | 亚洲国产最新在线一区二区 | 亚洲国产美女精品久久 | 色噜噜狠狠狠狠色综合久不 | 天天综合色天天综合 | 日本女人bbb | 日本一区二区影院 | 青青青在线免费观看 | 欧美在线91 | 日本成a人片在线观看网址 日本草草影院 | 日本三级成人中文字幕乱码 | 青青草一区国产97 | 日韩美女免费线视频网址 | 亚洲 欧美 中文字幕 | 亚洲第五页 | 中文字幕在线三浦惠理子 | 性8成人有声小说在线播放 性 色 黄 一级 | 在线观看精品国产福利片100 | 四虎免费影院ww4164h | 亚洲 中文 欧美 日韩 在线 | 日日摸夜夜夜夜夜添 | 日本一区二区三区在线观看视频 | 宇都宫紫苑(rion)在线播放 | 伊香蕉大综综综合久久 | 视频二区 素人 欧美 日韩 | 天天干狠狠插 | 天天综合天天添夜夜添狠狠添 | 日韩高清在线免费观看 | 日韩福利视频精品专区 | 日韩一级黄色大片 | 日本三级视频在线观看 | 亚洲第一伊人 | 小xav导航福利网址 香蕉中文在线 | 亚洲男人第一天堂 |