先来张效果图:
这样的效果是用lblbox显示出从表中读取到的信息,并且随窗体加载出来,效果比较简洁美观。当实现这个功能之后,还觉得少点什么。这时候想到了腾讯QQ,QQ号就好比卡号,是不可变的固定值,当然变也不现实,维护成本太高。而昵称(用户名)是可变的,因此我也给它加了一个修改用户名的功能
U层代码:
private void MineForm_Load(object sender, EventArgs e) { StudentInfo student = new StudentInfo(); Facade.MainFormFacade mineFacade = new Facade.MainFormFacade(); //student.UserName = LoginUser.UserID; student.CardNo= LoginUser.UserID; DataTable table = mineFacade.SelectMain(student); lblCardNo.Text = table.Rows[0][1].ToString(); textBox2.Text = table.Rows[0][0].ToString(); lblCash.Text = table.Rows[0][6].ToString(); lblType.Text=table.Rows[0][8].ToString(); lblDate.Text = table.Rows[0][9].ToString(); } private void button1_Click(object sender, EventArgs e) { Facade.MainFormFacade Facade = new Facade.MainFormFacade(); Entity.StudentInfo user = new Entity.StudentInfo(); user.UserName = textBox2.Text; user.CardNo = lblCardNo.Text; Boolean result = false; result = Convert.ToBoolean(Facade.UpdateUserName(user)); if (result != false) { MessageBox.Show("用户名修改成功"); } }
D层代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //引用空间 using System.Data; using System.Data.SqlClient; using IDAL; using Entity; namespace DAL { public class MainFormDAL: IDAL.MainFormIDAL { //实例化一个SQHelp层,用于连接数据库进行查询。 SQLHelper sqlHelper = new SQLHelper(); /// <summary> /// 查询管理者信息 /// </summary> /// <param name="">管理者信息实体</param> /// <returns>整个管理者信息实体</returns> public DataTable SelectMain(Entity.StudentInfo student) { //定义查询参数 SqlParameter[] sqlapms = { new SqlParameter("@CardNo", student.CardNo) }; //定义SQL语句 string sql = @"select * from [Student] where CardNo=@CardNo"; //接受查询结果 DataTable table = sqlHelper.ExecuteQuery(sql, sqlapms, CommandType.Text); return table;//返回查询结果 } public int UpdateUserName(StudentInfo username) { SqlParameter[] sqlparams = {new SqlParameter("@CardNo", username.CardNo), new SqlParameter("@UserName", username.UserName) }; string sql = "UPDATE [Student] SET UserName = @UserName WHERE CardNo =@CardNo"; int result = sqlHelper.ExecuteNonQuery(sql, sqlparams, CommandType.Text); return result;//返回受影响行数 } } }