版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39674002/article/details/83244541
注册程序设计
界面设计
丑丑的界面又来了,真的是缺乏创造美的天赋,当然现在的界面并不是最终的结果,后期还会有调整的
这次重构有了一点新的想法,也是新的需求,就是用户在注册的时候比较自由,人人都可以注册,人人都可以来使用这个软件.
这是注册界面的入口也是这二八经的登录界面.点击注册账号四个字就进入正常的注册界面了.
需要注册的几个信息就是用户名,手机号,设定登录的密码.当然数据库中关于用户信息的还有多个信息,现在的注册只是填入相关的登录信息而已.
这个运行过程是,先输入相关的信息,输入结束后点击注册按钮弹出注册成功对话框,然后界面跳转到登录界面.用刚刚注册的用户就可以登录了.
代码讲解
首先是判断输入框中的内容不能为空
if (txtUserID.Text.Trim() == "")
{
MessageBox.Show("用户名不能为空", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (txtPhone.Text.Trim() == "")
{
MessageBox.Show("手机号不能为空", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (txtPassWord.Text == "")
{
MessageBox.Show("密码不能为空", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (txtRPassWord.Text=="")
{
MessageBox.Show("确认密码不能为空", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
判断数据都有相应的值然后就是写入数据库中了,写入成功后返回一个bool值,整个过程形成一个闭环,这个功能就写好了.
主要代码如下:
DAL层的代码
//写入注册信息
public DataTable addUser(Entity.UserInfo UserInfo)
{
SQLHelper sqlHelper = new SQLHelper();
SqlParameter[] sqlParams =
{ new SqlParameter("@UserID",UserInfo.UserID),
new SqlParameter ("@Phone",UserInfo.Phone),
new SqlParameter("@PassWord",UserInfo.PassWord),
new SqlParameter("@Balance",UserInfo.Balance)
};
string sql = "Insert into [User](UserID,Phone,PassWord,Balance)values(@UserID,@Phone,@PassWord,@Balance)";
DataTable table = sqlHelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
return table;
}
接口层就写一句话就好了
DataTable addUser(Entity.UserInfo UserInfo);//添加注册信息
Bll层代码
//B层实现抽象工厂和接口的方法,然后在这里进行逻辑判断
public bool UserBLL(Entity.UserInfo UserInfo)
{
Factory.RegisterFatory fact = new Factory.RegisterFatory();//实例化工厂
IDALRegister idal = fact.CreateUser();//调用工厂方法创建接口
DataTable table = idal.addUser(UserInfo);//接受D层的返回值
bool flag;
if (table.Rows.Count==0)//返回的DataTable类型,如果它的行数等于0,说明没有符号该账号的密码的用户
{
flag = false;
}
else
{
flag = true;
}
return flag;
}
工厂层的代码
public class RegisterFatory
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
public IDALRegister CreateUser()
{
string ClassName = StrDB + "." + "RegisterDAL";//DAL层的类明
return (IDALRegister)Assembly.Load(StrDB).CreateInstance(ClassName);//反射加工厂的应用
}
}
Facade层的代码
//注册添加用户信息
public Boolean addUser(Entity.UserInfo user)
{
//调用B层方法,然后将U层数据传入B层或者返回信息到U层
bool flag;
BLL.RegisterBLL userBLL = new BLL.RegisterBLL();
flag = userBLL.UserBLL(user);
return flag;
}
整体的代码基本上就是这样的,总的来说注册窗口还是一个相对来说比较简单的窗口.
希望对大家有帮助,有什么不清楚的地方或者发现代码有写的不合理的都可以在留言区留言,让咱们共同学习共同进步.