以一个验证登陆为例子

这里是界面层一般叫UIL

protected void Button1_Click(object sender, EventArgs e)

{

List Users =

BLL.GetUserInfo(txtUserName.Text,txtPassword.Text);

if(Users.Length > 0)

{

Response.Write("登陆成功");

}

else

{

Response.Write("登陆失败");

}

}

以下是逻辑层代码,业务逻辑层一般叫BLL

public static List

GetUserInfo(string user,string password)

{

string newPassword = GetMD5Hash(password);

//这里对密码进行加密处理,数据库中存放的是经过MD5加密后的密,业务逻辑层一般都是处理复杂的逻辑.例如加密逻辑

List Users =

DAL.GetUserInfo(user,newPassword);

return Users;

}

以下是数据访问层代码,数据访问层一般叫DAL

public static List

GetUserInfo(string user,string password)

{

List Users = new

List();

string sql = "select * from User where Password =

'"+password+"' and User =

'"+user+"'";

//写where子句的时候把Password放前面.因为Password经过加密,所以可以防止SQL注入攻击

SqlDataAdapter da = new

SqlDataAdapter(sql,"这里是数据库连接字符串");

DataSet ds = new DataSet();

da.Fill(ds);

for(int i=0;i

{

User user = new

User(ds.Tables[0].Rows[i]["ID"].ToString(),ds.Tables[0].Rows[i]["User"].ToString(),ds.Tables[0].Rows[i]["Password"].ToString());

Users.Add(user);

}

return Users;

}

还会有一个Model层.叫做模板层.是数据表结构的印射.Model层是共用层,其他三层都要用到.

比如数据库中有张表User,里面有3个字段ID,User,Password

那么在模板层中应该有一个类,数据库中User表的一行对应一个User对象,一张表对应User对象的集合.

public class User

{

string ID;

string User;

string Password;

//重载构造函数

User(string id,string user,string password)

{

this.ID=id;

this.User=user;

this.Password=password;

}

}

三层架构用户登录代码c语言,三层架构实现简单的用户登录代码相关推荐

  1. c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统报告(内含代码)...

    <C语言程序设计之交通处罚单管理系统报告(内含代码)>由会员分享,可在线阅读,更多相关<C语言程序设计之交通处罚单管理系统报告(内含代码)(22页珍藏版)>请在人人文库网上搜索 ...

  2. python123电脑登录不了_python(14)- 简单练习:登录账户失败三次,账户自动锁定...

    题目需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 #读取注册用户的信息,用户名,密码,输错次数,写入字典中 user={} with open("DB1&quo ...

  3. 行人重识别 代码阅读(来自郑哲东 简单行人重识别代码到88%准确率)

    来自郑哲东 简单行人重识别代码到88%准确率 阅读代码 prepare.py 数据结构 部分代码 一些函数 model.py ClassBlock ResNet50 train.py 一些参数 使用f ...

  4. c语言用户输入编程,C语言入门教程-Printf:读取用户输入

    Printf:读取用户输入 前面的程序很好,但要是如果能从用户那里读入值5和7而不是使用固定的值的话,那就更好了.可以改为下面的程序: #include int main() {int a, b, c ...

  5. 编译原理实验代码c语言,编译原理实验 简单词法分析(含源代码和实验结果)

    可直接运行 原创!! 附录一 实验报告样式 <编译原理>实验报告 实验2 简单词法分析 姓名 陈婷婷 学号 1009050121 班级 计科1001班 时间: 2012/4/5 地点:文波 ...

  6. c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统 报告(内含代码).doc...

    C语言程序设计 姓名:张强强 学号:20121003695 班序号:011121 前言: C语言是近年来国内得到迅速推广使用的一种计算机语言.C语言程序设计课程是计算机专业和信息管理专业的核心专业基础 ...

  7. 【全网最强C语言学习】c语言入门(番外)——简单操作上传代码到代码仓库

    ✨前言✨ 作为一个小白说出标题这样的话看来是有些大言不惭,但博主有心将这个系列做好.做精.实话说博主学习C语言不过两个多月,也很能明白初学者的困惑,所以会尽肯能详细.同时作为一个系统的教程,这个系列会 ...

  8. 进制转换小数c语言代码,C语言进制转换小数负数皆可 代码求解释

    满意答案 #include void fun1(long a)//输出二进制数 { long p; if(a>0) { p=a%2;//取余 fun1(a/2);//递归取余 printf(&q ...

  9. [转]Android 代码混淆和加固 so库 简单教你一行代码实现

    混淆 因为开启混淆会使编译时间变长,所以debug模式下不开启.我们需要做的是: 1.将release下minifyEnabled的值改为true,打开混淆: 2.buildConfigField 不 ...

最新文章

  1. 人人都能看懂的EM算法推导
  2. Python简介、安装、更新、基本语法及数据类型
  3. newcode wyh的吃鸡(优势队列+BFS)题解
  4. SpringCloud Ribbon(三)之IPing机制
  5. 宇宙的最原始状态是个什么样子
  6. mysql多线程使用一个链接_探索多线程使用同一个数据库connection的后果
  7. pytorch torchvision.datasets.ImageFolder
  8. ElasticSearch 2 (34) - 信息聚合系列之多值排序
  9. Windows下架设SVN服务
  10. 【控制】《自动控制原理》胡寿松老师-第8章-非线性控制系统分析
  11. WPF弹出取消确定框
  12. 逻辑思维训练500题
  13. 《计算机网络教程》(微课版 第五版)第五章 运输层 课后习题及答案
  14. gwt php,java – 启动GWT项目的PHP程序员的任何好技巧?
  15. sql语句中select……as的用法
  16. Sql学习04(11.23-11.24)
  17. 用Python绘制条形图
  18. Thunar文件管理器新增一个使用root权限打开当前目录或者文件夹
  19. 百度关键词排名查询源码_百度移动搜索关键词排名优化
  20. android友盟统计按钮点击次数,友盟统计按钮点击事件

热门文章

  1. 自己动手搭建Git服务器-SCM-Manager
  2. BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系
  3. 基本概念/MM相关概念
  4. 安装SAP Business One对软硬件有哪些要求
  5. 如何做好OA流程审批?
  6. OO实现ALV TABLE 十一:ALV的聚合,排序,过滤
  7. python创建一个类初始化两个变量name、age_Python小白入门:第八讲||类
  8. 导出excel加粗_Python办公自动化|从Word到Excel
  9. Python:3种方式实现随机生成8位字符
  10. Python中*args和**kwargs