人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

第3局部,BETA2設置ACCESS數據庫

第3局部,BETA2設置ACCESS數據庫

更新時間:2022-07-09 文章作者:未知 信息來源:網絡 閱讀次數:

第三節通過OleDbDataAdapte來操作數據庫!
呵呵,朋友好啊!又天亮了,熬了一個晚上,現在頭腦已經不是很清楚了,不過還不想休息!接著說說我們的數據庫操作吧!前面我們已經說了如何操作數據庫,但幾乎全部是通過OleDbCommand和OleDbDataReader來做的,這次我們說說如何通過OleDbDataAdapter來操作數據庫!由于OleDbDataAdapter是DataSet和數據源之間建立聯系的一個橋梁,而DataSet我想大家都知道在ADO.NET中所占的地位,所以知道如何通過它來操作數據庫就是必須的了!

好了,不廢話了!在前面我們已經用到過一次OleDbDataAdapter來執行“SELECT”語句,我門在回憶一次看看那段代碼!(我適當簡化了)

OleDbConnection conn = getConn(); //getConn():得到連接對象
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from notes order by posttime desc",conn);
System.Data.DataSet mydataset = new System.Data.DataSet();;//定義DataSet
adapter.Fill(mydataset,"notes");
conn.Close();

整個過程分以下幾步:
1.建立數據庫連接(我是通過自己的函數,在前面的文章中有代碼)
2.實例化OleDbDataAdapter對象!
3.建立一個DataSet對象,執行SQL語句得到的表添加到其中
4.關閉數據庫連接
通過上面的步驟我們就可以使用DataBind將我們得到的數據綁定到特定的控件上了!


下面我們看看,如何通過OleDbDataAdapter來執行刪除特定的數據庫記錄!(DELETE)

由于執行刪除、修改、添加都比前面的麻煩,所以我們還是先看例程,然后自己體會一下,程序如下:

//刪除特定記錄,通過string類型的ID刪除字段
public Boolean DelNote(string delid)
{
Boolean tempvalue=false;
 //連接數據庫
 try
 {
 OleDbConnection conn = getConn(); //getConn():得到連接對象

string selectstr = "select * from notes where id=" + delid;
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(selectstr,conn);

//建立OleDbCommandBuilder,必須!
OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
DataSet ds = new DataSet(); //建立DataSet()實例
myDataAdapter.Fill(ds,"notes");

//下面的可以簡化,由于我開始是選擇了所有的記錄,所以就用的是集合方式
foreach(DataRow dr in ds.Tables["notes"].Rows)
{
if(dr["id"].ToString().Equals(delid))
{
dr.Delete();
}
}
myDataAdapter.Update(ds,"notes");


//假如執行成功,則,返回TRUE,否則,返回FALSE
conn.Close();
 tempvalue=true;
 return(tempvalue);
 }
 catch(Exception e)
{
 throw(new Exception("數據庫刪除出錯:" + e.Message)) ;
 }
}


這個程序和我們前面用到的刪除例程是執行同樣的功能的,我這里改成了用myDataAdapter來達到同樣的效果!

要通過myDataAdapter執行delete操作,我們要有下面的幾步:

1.建立數據庫連接(通過:OleDbConnection conn = getConn();)
2.實例化OleDbDataAdapter對象!此處并沒有用delete語句,而是先用select語句把要刪除的記錄取得
3.建立一個DataSet對象,并把執行select語句得到的記錄添加到其中
4.建立OleDbCommandBuilder對象! 并讓它與我們前面的OleDbDataAdapter對象關聯!語句如下:OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
5.刪除DataSet中包含表的特定記錄

6.執行OleDbDataAdapter對象的Update命令更新數據庫,語句如下: myDataAdapter.Update(ds,"notes");
7.關閉數據庫連接


上面步驟中的第4步,我們建立了一個OleDbCommandBuilder對象,注意是必須的!!!我們將它和OleDbDataAdapter關聯起來,監視RowUpdating事件的發生!在我們刪除了指定的記錄后,要通過執行OleDbDataAdapter對象的Update命令來更新數據庫!

其實,上面的結構不僅適合與delete操作,同樣適合insert、update操作的,只要我們把上面的第5步改成相應的操作語句就可以的!

備注:
在ms自帶的幫助中,它是使用下面的方式:
string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
string mySelectConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND_RW.MDB";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySelectText,mySelectConn);
myDataAdapter.DeleteCommand.CommandText = "DELETE FROM Categories WHERE CategoryName='Produce'";
myDataAdapter.DeleteCommand.Connection = myDataAdapter.SelectCommand.Connection;

不過不幸的是,這個方法我用了各種方法測試了多次都沒有成功,總是提示錯誤,最后我得到的結論是:MS的幫助又有個地方錯了,簡直了,都不知道怎么回事!如果哪為朋友通過這樣的方式做成功了,也希望能告訴一下,我反正是測了一個晚上也沒有找到正確的方法!

好了,這次就到這里了,以后,我再有什么體會還會補充!也希望朋友們同樣能把自己學習中的體會寫出來和大家一起分享!

呵呵,真該休息了,好困!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 通河县| 闸北区| 延吉市| 武义县| 阿合奇县| 遂溪县| 双峰县| 蒙阴县| 黑龙江省| 易门县| 闽清县| 育儿| 图木舒克市| 交城县| 平武县| 辽阳县| 炉霍县| 吉首市| 城步| 忻州市| 醴陵市| 澄江县| 姚安县| 阜新市| 桐乡市| 南汇区| 玉环县| 浮山县| 苏尼特左旗| 依兰县| 建德市| 建阳市| 衡阳县| 丰镇市| 丹东市| 澄迈县| 庐江县| 武定县| 黄石市| 通渭县| 鄢陵县|