日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三层架构,四大天王——删

發(fā)布時(shí)間:2024/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层架构,四大天王——删 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? 第一部分我們介紹,間數(shù)據(jù)庫的四個(gè)功能——增加。這一次,我們將討論除記錄的功能

? ?1、刷新

? ? ? 要想刪除數(shù)據(jù)庫中的記錄,首先我們應(yīng)該將表中的數(shù)據(jù)顯示出來,所以此功能的實(shí)現(xiàn)方法例如以下

? ? ? 1.1UI層

? ? ? ? ?

? ? ? ?其代碼

//刷新button,刷新Users表的信息private void button1_Click(object sender, EventArgs e){//實(shí)例化一個(gè)用戶集。用來接收傳回來的信息ArrayList UsersList = new ArrayList();//實(shí)例化B層UserModify.BLL.RefreshBLL RefB = new UserModify.BLL.RefreshBLL();//調(diào)用B層。并接收傳回的信息UsersList = RefB.Refresh();//顯示信息this.dataGridView1.DataSource = UsersList; }

? ? ???1.2BLL層

public class RefreshBLL //B層刷新類{//刷新的方法,返回一個(gè)集合public ArrayList Refresh(){//實(shí)例化一個(gè)用戶集。用來接收傳回來的信息ArrayList UsersList = new ArrayList ();//讓D層處理,并接收返回信息UserModify .DAL.RefreshDAL refDal=new UserModify .DAL .RefreshDAL ();UsersList = refDal.Refresh();return UsersList; //返回用戶集} }

? ? ???1.3DAL層

public class RefreshDAL{public ArrayList Refresh() //刷新。返回一個(gè)集合{using(SqlConnection conn=new SqlConnection(DBUtil.ConnString )){//查詢語句string Select = @"SELECT * FROM USERS";//打開數(shù)據(jù)庫的連接conn.Open();//查詢數(shù)據(jù)DataSet ds = new DataSet(); //用來保存查到的數(shù)據(jù)SqlDataAdapter dataAdpt = new SqlDataAdapter(Select,conn); //運(yùn)行SQL語句dataAdpt.Fill(ds); //保存結(jié)果集//實(shí)例化一個(gè)用戶集,用來返回信息ArrayList UsersList = new ArrayList();//利用循環(huán),查出表中全部記錄 for (int i=0;i<ds.Tables[0].Rows.Count;i++){Login.Model.UserInfo user = new Login.Model.UserInfo(); //實(shí)例化一個(gè)用戶//得到單個(gè)用戶信息user.ID=i+1;user.UserName=ds.Tables[0].Rows[i]["UserName"].ToString();user.Password = ds.Tables[0].Rows[i]["Password"].ToString();user.Email = ds.Tables[0].Rows[i]["Email"].ToString();UsersList.Add(user); //將用戶信息存入用戶集}return UsersList; //返回用戶集}}}

? ? ? 1.4結(jié)果顯示

? ? ? ? ? ?

? ?2、刪除

? ? ?表中的數(shù)據(jù)顯示出來以后。我們就能夠依據(jù)須要來刪除我們不想要的記錄(一條或多條)

? ? ?2.1UI層

? ? ? ? ? ? ? ?
? ? ? ? 代碼 //刪除選中的信息private void button2_Click(object sender, EventArgs e){Login.Model .UserInfo user=new Login.Model .UserInfo ();//實(shí)例化一個(gè)集合,用來存取準(zhǔn)備刪除的全部記錄IList<string> userNameList=null; //查找是否有選擇的記錄if (dataGridView1.SelectedRows.Count!=0){//假設(shè)有選中項(xiàng),就將記錄傳到集合中userNameList = new List<string>(); //實(shí)例化一個(gè)集合//循環(huán),將全部選中項(xiàng),都保存到集合中for (int i = 0; i < dataGridView1.SelectedRows.Count;i++ ){ //user.UserName = ;userNameList.Add(dataGridView1.SelectedRows[i].Cells[1].Value.ToString ()); //獲取所選行的第二列。即得到username}}//推斷是否已經(jīng)選中要刪除的記錄if (userNameList==null){MessageBox.Show("請選擇要刪除的行");return;}//假設(shè)已經(jīng)選中,則將記錄集交由B層處理UserModify.BLL.ModifyBLL deleteBLL = new UserModify.BLL.ModifyBLL();//B層處理。并推斷是否刪除成功if (deleteBLL.Modify(userNameList)){MessageBox.Show ("刪除數(shù)據(jù)成功,請刷新數(shù)據(jù)");}else{MessageBox.Show("刪除數(shù)據(jù)失敗!");}} }<span style="font-size:18px; ">? ? ?</span>

? ? ? 2.2BLL層

public class ModifyBLL{public bool Modify(IList <string> usersDelete){//實(shí)例化D層UserModify.DAL.ModifyDAL deleteDal = new UserModify.DAL.ModifyDAL();//將數(shù)據(jù)交由D層處理,if (deleteDal.Modify(usersDelete)) //假設(shè)成功返回true{return true;}else{return false; //假設(shè)失敗返回false} }}

? ? ?2.3DAL層

public class ModifyDAL{public bool Modify(IList <string> userDelete){using (SqlConnection conn = new SqlConnection(DBUtil.ConnString)){SqlCommand cmd = conn.CreateCommand(); //用來運(yùn)行SQL語句等try{//利用循環(huán),將選中的數(shù)據(jù)刪除for (int i = 0; i < userDelete.Count; i++){cmd.CommandText = @"DELETE FROM Users WHERE UserName=@UserName";cmd.CommandType = CommandType.Text;//打開數(shù)據(jù)庫conn.Open();Login.Model.UserInfo User = new Login.Model.UserInfo(); //聲明一個(gè)用戶實(shí)例User.UserName = userDelete[i]; //取出usernamecmd.Parameters.Add(new SqlParameter("@UserName", User.UserName)); //獲取所要刪除的用戶cmd.ExecuteNonQuery(); //運(yùn)行SQL,刪除用戶cmd.Parameters.Clear(); //必須清空參數(shù)//斷開連接conn.Close();}return true;}catch{return false; //假設(shè)出錯就返回false}}}}

? ? ? 2.4結(jié)果顯示

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

然后,在刷新一下,就發(fā)現(xiàn)我們要刪除的記錄已經(jīng)不存在了

? ? ? ? ? ? ??


版權(quán)聲明:本文博主原創(chuàng)文章,博客,未經(jīng)同意不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的三层架构,四大天王——删的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。