添加用戶也是用到了七層,說來也簡單,先分為兩部分,首先要對添加的資料加一個判斷,看資料庫里是否有重復的資料,然后在添加資料,我這里是用卡號來判斷是否重復的,如下:
IDAL
DataTable Select(Entity.AddStudent user);//判斷是否有相同資料
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IDAL
{
public interface IAddstudent
{
DataTable Select(Entity.AddStudent user);//判斷是否有相同資料
int AddStudent(Entity.AddStudent user);//添加資料
}
}
DAL
public class Add: IDAL.IAddstudent
{
#region 判斷是否有重復資料
public DataTable Select(Entity.AddStudent user)
{
SQLHelper sqlhelper = new SQLHelper();//實體化SQLhelp
//定義一個bool型變數,用來接識訓傳資料
//bool flag;
string sql = "select * from student_info where cardno=@cardno";//查詢卡號是否重復
SqlParameter[] sqlpar =
{
new SqlParameter("@cardno", user.cardno ),
};
//DataTable tabel =sqlhelper .ExecuteQuery(sql,sqlpar)
DataTable tabel = sqlhelper.ExecuteQuery(sql, sqlpar, CommandType.Text);
return tabel;
}
#endregion
Facade
public class Addstudent
{
#region 判斷資料是否重復
public bool select(Entity .AddStudent user)
{
BLL.Addstudent userbll = new BLL.Addstudent();
bool falg;
falg = userbll.flag(user );
return falg;
}
#endregion
BLL
namespace BLL
{
public class Addstudent
{
#region 判斷是否有重復資料
public bool flag(Entity.AddStudent user)
{
Factory.AddStudent fact = new Factory.AddStudent();//實體化工廠
IDAL.IAddstudent idal = fact.Addstudent();
DataTable table = idal.Select(user);
bool flag;
if (flag= table.Rows.Count == 0)//判斷資料庫里面是否有重復的資料,如果=0說明沒有重復的資料行
{
flag = true;
}
else
{
flag = false;
}
return flag;
}
第二步 往資料庫里面添加資料
Entity
namespace Entity
{
public class AddStudent
{
public int studentID { get; set; }
public string studentName { get; set; }
public string pwd { get; set; }
public string QRpwd { get; set; }
public string grade { get; set; }
public string department { get; set; }
public string classs { get; set; }
public string money { get; set; }
public string sex { get; set; }
public string cardno { get; set; }
}
IDAL
int AddStudent(Entity.AddStudent user);//添加資料
namespace IDAL
{
public interface IAddstudent
{
DataTable Select(Entity.AddStudent user);//判斷是否有相同資料
int AddStudent(Entity.AddStudent user);//添加資料
}
}
DAL
public int AddStudent(Entity.AddStudent user)
{
SQLHelper sqlhelper = new SQLHelper();//實體化SQLhelp
SqlParameter[] sqlpar =
{
new SqlParameter("@txtStudentID",user.studentID),
new SqlParameter("@txtStudentName",user.studentName),
new SqlParameter("@txtPassword",user.pwd),
//new SqlParameter("@txtQRpassword",user.pwd),
new SqlParameter("@comGrade",user.grade),
new SqlParameter("@comDeparment",user.department),
new SqlParameter("@comClass",user.classs),
new SqlParameter("@txtMoney",user.money),
new SqlParameter("@comSex",user.sex),
new SqlParameter ("@txtcardno",user.cardno)
};//定義需要傳遞的引數
string sql = @"insert into student_info(cardno,studentNo,studentName,sex,cash,class,department,grade,password)values(@txtcardno,@txtStudentID,@txtStudentName,@comSex,@txtMoney,@comClass,@comDeparment,@comGrade,@txtPassword)";
//string sql = "insert into student_info(cardno, studentNo, studentName, sex, cash, UserID, status, Ischeck, date, time, type,class,department,grade,password)values(@cardno,44,4,44,53,3,3,3,'2021-04-21','19:49:31',3,5,6,4,2)"
//DataTable table = sqlhelper.ExecuteQuery(sql, sqlpar, CommandType.Text);
int table = sqlhelper.ExecuteNonQuery(sql, sqlpar, CommandType.Text);
return table ;
}
}
Factory
namespace Factory
{
public class AddStudent
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
public IAddstudent Addstudent()
{
string ClassName = StrDB + "." + "Add";
return (IAddstudent)Assembly.Load(StrDB).CreateInstance(ClassName);
}
}
}
BLL
public int addstudent(Entity.AddStudent user)//添加資料
{
Factory.AddStudent fact = new Factory.AddStudent();//實體化工廠
IDAL.IAddstudent idal = fact.Addstudent();
int flag = idal.AddStudent(user);
return flag;
}
Facade
public int addstudent(Entity.AddStudent user)
{
BLL.Addstudent userbll = new BLL.Addstudent();
int flag = userbll.addstudent(user);
return flag;
}
UI
private void button1_Click(object sender, EventArgs e)
{
if (txtStudentID.Text =="")
{
MessageBox.Show("學號不能為空!", "提示");
}
else if (txtStudentName.Text =="")
{
MessageBox.Show("姓名不能為空!", "提示");
}
else if (txtPassword.Text =="")
{
MessageBox.Show("密碼不能為空!", "提示");
}
else if (txtQRpassword.Text =="")
{
MessageBox.Show("確認密碼不能為空!", "提示");
}
else if (comGrade.Text =="")
{
MessageBox.Show("請選擇您所在的年級!", "提示");
}
else if (comDeparment.Text =="")
{
MessageBox.Show("請選擇您所在的系別!", "提示");
}
else if (comClass.Text =="")
{
MessageBox.Show("請選擇您所在的班級!", "提示");
}
else if (txtMoney.Text =="")
{
MessageBox.Show("請輸入您要充值的金額,最小金額不能少于3元!", "提示");
}
else if (txtPassword.Text != txtQRpassword.Text )
{
MessageBox.Show("密碼和確認密碼不一致,請您再次確認!", "提示");
}
else
{
Facade.Addstudent facade = new Facade.Addstudent();
Entity.AddStudent entity = new Entity.AddStudent();
entity.studentID = Convert.ToInt32(txtStudentID.Text.Trim());
entity.studentName = txtStudentName.Text.Trim();
entity.pwd = txtPassword.Text.Trim();
entity.QRpwd = txtQRpassword.Text.Trim();
entity.grade = comGrade.Text.Trim();
entity.classs = comClass.Text.Trim();
entity.department = comDeparment.Text.Trim();
entity.sex = comSex.Text.Trim();
entity.money = txtMoney.Text.Trim();
entity.cardno = txtcardno.Text.Trim();
bool falg = facade.select(entity);
if (falg ==false)//與B層的判斷關聯
{
MessageBox.Show("已有此卡號,請重新輸入!","提示");
}
else
{
facade.addstudent(entity);
MessageBox.Show("添加成功","提示");
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/282167.html
標籤:其他
下一篇:SQL綜合復習試題(一)
