#前言
昨天晚上做梦,梦见我一直在敲删除用户的窗体,而且最后成功实现了,真好~ 然后今天就美梦成真了,真好~(当然这次也少不了大兵和娉哲的帮忙) |
#正文
还记得小编的前一篇文章实现了更新的功能,这一篇文章则是实现了删除的功能。 虽然真的很简单的,但是作为增删改查四个功能中的一个,还是值得一总结的。 (今天小编用了蓝色和白色的色调喔) |
##界面设计
第一次机房的时候,可能大家都记得,还有一个更新的功能,但是,这次发现不太需要这个功能了,所以果断删除了。 只有三个功能:添加(添加用户) 、删除用户、退出。 |
##敲黑板式重点
实现过程: 1.在User_Info 中查找用户,显示在表格中。 2.选中并删除需要删除的一行数据 |
##代码实现
DAL层:
public DataTable selectUser(Entity.User_Info userinfo)
{
SQLHelper sqlhelper = new SQLHelper();
SqlParameter[] sqlParams = { new SqlParameter("@Level", userinfo.Level)};
string sql = "select * from User_Info where [Level] =@Level";
DataTable table = sqlhelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
return table;
}
public DataTable deleteUser(Entity.User_Info userinfo)
{
SQLHelper sqlhelper = new SQLHelper();
SqlParameter[] sqlParams = { new SqlParameter ("@userID",userinfo.userID)
};
string sql = "delete from User_Info where userID =@userID";
DataTable table = sqlhelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
return table;
}
BLL层:
public class deleteBLL
{
/// <summary>
/// 删除用户
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public Boolean deleteUser(Entity.User_Info user)
{
Factory.deleteFactory fact = new deleteFactory();
IDAL.deleteIDAL idal = fact.CreateUser();
DataTable table = idal.deleteUser(user);
bool flag;
if (table.Rows.Count == 0)
{
flag = false;
}
else
{
flag = true;
}
return flag; //返回flag
}
/// <summary>
/// 查找用户
/// </summary>
public DataTable selectUser (Entity.User_Info user)
{
Factory.deleteFactory fact = new Factory.deleteFactory();
IDAL.deleteIDAL idal = fact.CreateUser();
DataTable table = idal.selectUser (user);
return table;
}
}
UI层:
public partial class deleteUser : Form
{
public deleteUser()
{
InitializeComponent();
}
private void deleteUser_Load(object sender, EventArgs e)
{
Level.Items.Add("一般用户");
Level.Items.Add("管理员");
Level.Items.Add("操作员");
}
private void btnOK_Click(object sender, EventArgs e)
{
addNum addnum = new addNum();
addnum.ShowDialog();
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count ==0)
{
MessageBox.Show("请选中一行");
}
else
{
Entity.User_Info user = new Entity.User_Info();//实例化实体层
user.userID = Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString());//表格中的数据给实体层
user.Level = Level.Text;
Facade.deleteFacade facade = new Facade.deleteFacade();//实例化外观层
DataTable table = facade.selectUser(user);
bool flag = facade.deleteUser(user);
//bool table1 = facade.deleteUser(user);
if (flag ==false)
{
MessageBox.Show("删除成功!");
Showuser();
}
else
{
MessageBox.Show("删除失败!");
}
}
}
public void Showuser() //封装一个方法
{
Entity.User_Info user = new Entity.User_Info();
Facade.deleteFacade facade = new Facade.deleteFacade();
user.Level = Level.Text.Trim();
DataTable table = facade.selectUser(user);
dataGridView1.DataSource = table;
}
private void Level_SelectedIndexChanged(object sender, EventArgs e)
{
Showuser();
}
private void btnExit_Click(object sender, EventArgs e)
{
System.Environment.Exit(0);
}
}
}
#后记
1.对于七层的理解:层与层之间的联系,最重要的就是传参的应用,如果哪一层没有传参,那么其他层便不能接收,也就会操作失败。 举个例子,比如你托人传一个小纸条,来表达爱意,但是其中一个人给弄丢了,那么表白失败了,劝你还是直接一点去表达吧~ |