三层架构,四大天王——删
生活随笔
收集整理的這篇文章主要介紹了
三层架构,四大天王——删
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? 第一部分我們介紹,間數據庫的四個功能——增加。這一次,我們將討論除記錄的功能。
? ?1、刷新
? ? ? 要想刪除數據庫中的記錄,首先我們應該將表中的數據顯示出來,所以此功能的實現方法例如以下
? ? ? 1.1UI層
? ? ? ? ?
? ? ? ?其代碼
//刷新button,刷新Users表的信息private void button1_Click(object sender, EventArgs e){//實例化一個用戶集。用來接收傳回來的信息ArrayList UsersList = new ArrayList();//實例化B層UserModify.BLL.RefreshBLL RefB = new UserModify.BLL.RefreshBLL();//調用B層。并接收傳回的信息UsersList = RefB.Refresh();//顯示信息this.dataGridView1.DataSource = UsersList; }
? ? ???1.2BLL層
public class RefreshBLL //B層刷新類{//刷新的方法,返回一個集合public ArrayList Refresh(){//實例化一個用戶集。用來接收傳回來的信息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() //刷新。返回一個集合{using(SqlConnection conn=new SqlConnection(DBUtil.ConnString )){//查詢語句string Select = @"SELECT * FROM USERS";//打開數據庫的連接conn.Open();//查詢數據DataSet ds = new DataSet(); //用來保存查到的數據SqlDataAdapter dataAdpt = new SqlDataAdapter(Select,conn); //運行SQL語句dataAdpt.Fill(ds); //保存結果集//實例化一個用戶集,用來返回信息ArrayList UsersList = new ArrayList();//利用循環,查出表中全部記錄 for (int i=0;i<ds.Tables[0].Rows.Count;i++){Login.Model.UserInfo user = new Login.Model.UserInfo(); //實例化一個用戶//得到單個用戶信息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結果顯示
? ? ? ? ? ?? ?2、刪除
? ? ?表中的數據顯示出來以后。我們就能夠依據須要來刪除我們不想要的記錄(一條或多條)? ? ?2.1UI層
? ? ? ? ? ? ? ?? ? ? ? 代碼 //刪除選中的信息private void button2_Click(object sender, EventArgs e){Login.Model .UserInfo user=new Login.Model .UserInfo ();//實例化一個集合,用來存取準備刪除的全部記錄IList<string> userNameList=null; //查找是否有選擇的記錄if (dataGridView1.SelectedRows.Count!=0){//假設有選中項,就將記錄傳到集合中userNameList = new List<string>(); //實例化一個集合//循環,將全部選中項,都保存到集合中for (int i = 0; i < dataGridView1.SelectedRows.Count;i++ ){ //user.UserName = ;userNameList.Add(dataGridView1.SelectedRows[i].Cells[1].Value.ToString ()); //獲取所選行的第二列。即得到username}}//推斷是否已經選中要刪除的記錄if (userNameList==null){MessageBox.Show("請選擇要刪除的行");return;}//假設已經選中,則將記錄集交由B層處理UserModify.BLL.ModifyBLL deleteBLL = new UserModify.BLL.ModifyBLL();//B層處理。并推斷是否刪除成功if (deleteBLL.Modify(userNameList)){MessageBox.Show ("刪除數據成功,請刷新數據");}else{MessageBox.Show("刪除數據失敗!");}} }<span style="font-size:18px; ">? ? ?</span>
? ? ? 2.2BLL層
public class ModifyBLL{public bool Modify(IList <string> usersDelete){//實例化D層UserModify.DAL.ModifyDAL deleteDal = new UserModify.DAL.ModifyDAL();//將數據交由D層處理,if (deleteDal.Modify(usersDelete)) //假設成功返回true{return true;}else{return false; //假設失敗返回false} }}
? ? ?2.3DAL層
public class ModifyDAL{public bool Modify(IList <string> userDelete){using (SqlConnection conn = new SqlConnection(DBUtil.ConnString)){SqlCommand cmd = conn.CreateCommand(); //用來運行SQL語句等try{//利用循環,將選中的數據刪除for (int i = 0; i < userDelete.Count; i++){cmd.CommandText = @"DELETE FROM Users WHERE UserName=@UserName";cmd.CommandType = CommandType.Text;//打開數據庫conn.Open();Login.Model.UserInfo User = new Login.Model.UserInfo(); //聲明一個用戶實例User.UserName = userDelete[i]; //取出usernamecmd.Parameters.Add(new SqlParameter("@UserName", User.UserName)); //獲取所要刪除的用戶cmd.ExecuteNonQuery(); //運行SQL,刪除用戶cmd.Parameters.Clear(); //必須清空參數//斷開連接conn.Close();}return true;}catch{return false; //假設出錯就返回false}}}}? ? ? 2.4結果顯示
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?然后,在刷新一下,就發現我們要刪除的記錄已經不存在了
? ? ? ? ? ? ??
版權聲明:本文博主原創文章,博客,未經同意不得轉載。
總結
以上是生活随笔為你收集整理的三层架构,四大天王——删的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ip iq 谐波检测matlab仿真,基
- 下一篇: 读书感受 之 《冰与火之歌》