如鹏网.Net三层架构第二章登录和会员管理
讲解餐饮项目中登录功能和会员管理功能
--------------------------------------------------------------------------------------------
三层项目:
关系型数据 C#类数据
表名 类名
列名 字段封装成属性
三层 各个功能分开
登录窗口点登录-》调用BLL方法-》调用DAL方法-》数据库
数据库-》DAL-》BLL-》UI
---------------------------------------------------------------------------------------------
单例模式:
//private static readonly MemberForm Mf =new MemberForm();
//public static MemberForm GetMemberForm()
//{
// return Mf;
//}
private static MemberForm _instance;
public static MemberForm Instance
{
get
{
if (_instance == null || _instance.IsDisposed)
{
_instance = new MemberForm();
}
return _instance;
}
}
private MemberForm()
{
InitializeComponent();
}
//只显示一次,单例模式
private static MemberEditForm _instance;
//只显示一次,单例模式
private static MemberEditForm _instance;
/// <summary>
/// /ture为修改 false为新增
/// </summary>
private static bool _isEdit; //ture 修改 false 新增
/// <summary>
/// 单例模式
/// </summary>
/// <param name="isEdit">是否是修改</param>
/// <param name="member">修改的对象</param>
/// <returns></returns>
public static MemberEditForm Single(bool isEdit, Member member)
{
if (_instance == null || _instance.IsDisposed)
{
_instance = new MemberEditForm(member);
}
_isEdit = isEdit;
return _instance;
}
随机编号
//1.生成随机编号
Random r=new Random();
int num = r.Next(100, 1000);
string strDate = DateTime.Now.ToString("yyyyMMddHHmmss");
txtNum.Text = strDate + num;
加载列表:
MemberTypeBll bll = new MemberTypeBll();
List<MemberType> list = bll.GetMemberTypes(false);
list.Insert(0,new MemberType(){Name = "请选择",Id = -1});
cmbType.DataSource = list;
cmbType.DisplayMember = "Name"; //显示的值
cmbType.ValueMember = "Id"; //保存的值
提示窗完成后再弹出或关闭窗口
msgMd.MsgDivShow("登录成功了。",1,Bind);
.....
private void Bind()
{
DialogResult=DialogResult.OK;
//this.Cclose();
}
关系数据转换成对象数据,要对特殊值进行处理(null,<=0等)
尽量写通用的sql语句(语句中尽量不要会特殊的函数,因为各个版本函数的功能不一样)
就今天,再坚持一下,哪怕会放弃,但至少要过了今天。