三层架构用户登录代码c语言,三层架构实现简单的用户登录代码
以一个验证登陆为例子
这里是界面层一般叫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语言,三层架构实现简单的用户登录代码相关推荐
- c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统报告(内含代码)...
<C语言程序设计之交通处罚单管理系统报告(内含代码)>由会员分享,可在线阅读,更多相关<C语言程序设计之交通处罚单管理系统报告(内含代码)(22页珍藏版)>请在人人文库网上搜索 ...
- python123电脑登录不了_python(14)- 简单练习:登录账户失败三次,账户自动锁定...
题目需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 #读取注册用户的信息,用户名,密码,输错次数,写入字典中 user={} with open("DB1&quo ...
- 行人重识别 代码阅读(来自郑哲东 简单行人重识别代码到88%准确率)
来自郑哲东 简单行人重识别代码到88%准确率 阅读代码 prepare.py 数据结构 部分代码 一些函数 model.py ClassBlock ResNet50 train.py 一些参数 使用f ...
- c语言用户输入编程,C语言入门教程-Printf:读取用户输入
Printf:读取用户输入 前面的程序很好,但要是如果能从用户那里读入值5和7而不是使用固定的值的话,那就更好了.可以改为下面的程序: #include int main() {int a, b, c ...
- 编译原理实验代码c语言,编译原理实验 简单词法分析(含源代码和实验结果)
可直接运行 原创!! 附录一 实验报告样式 <编译原理>实验报告 实验2 简单词法分析 姓名 陈婷婷 学号 1009050121 班级 计科1001班 时间: 2012/4/5 地点:文波 ...
- c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统 报告(内含代码).doc...
C语言程序设计 姓名:张强强 学号:20121003695 班序号:011121 前言: C语言是近年来国内得到迅速推广使用的一种计算机语言.C语言程序设计课程是计算机专业和信息管理专业的核心专业基础 ...
- 【全网最强C语言学习】c语言入门(番外)——简单操作上传代码到代码仓库
✨前言✨ 作为一个小白说出标题这样的话看来是有些大言不惭,但博主有心将这个系列做好.做精.实话说博主学习C语言不过两个多月,也很能明白初学者的困惑,所以会尽肯能详细.同时作为一个系统的教程,这个系列会 ...
- 进制转换小数c语言代码,C语言进制转换小数负数皆可 代码求解释
满意答案 #include void fun1(long a)//输出二进制数 { long p; if(a>0) { p=a%2;//取余 fun1(a/2);//递归取余 printf(&q ...
- [转]Android 代码混淆和加固 so库 简单教你一行代码实现
混淆 因为开启混淆会使编译时间变长,所以debug模式下不开启.我们需要做的是: 1.将release下minifyEnabled的值改为true,打开混淆: 2.buildConfigField 不 ...
最新文章
- 人人都能看懂的EM算法推导
- Python简介、安装、更新、基本语法及数据类型
- newcode wyh的吃鸡(优势队列+BFS)题解
- SpringCloud Ribbon(三)之IPing机制
- 宇宙的最原始状态是个什么样子
- mysql多线程使用一个链接_探索多线程使用同一个数据库connection的后果
- pytorch torchvision.datasets.ImageFolder
- ElasticSearch 2 (34) - 信息聚合系列之多值排序
- Windows下架设SVN服务
- 【控制】《自动控制原理》胡寿松老师-第8章-非线性控制系统分析
- WPF弹出取消确定框
- 逻辑思维训练500题
- 《计算机网络教程》(微课版 第五版)第五章 运输层 课后习题及答案
- gwt php,java – 启动GWT项目的PHP程序员的任何好技巧?
- sql语句中select……as的用法
- Sql学习04(11.23-11.24)
- 用Python绘制条形图
- Thunar文件管理器新增一个使用root权限打开当前目录或者文件夹
- 百度关键词排名查询源码_百度移动搜索关键词排名优化
- android友盟统计按钮点击次数,友盟统计按钮点击事件
热门文章
- 自己动手搭建Git服务器-SCM-Manager
- BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系
- 基本概念/MM相关概念
- 安装SAP Business One对软硬件有哪些要求
- 如何做好OA流程审批?
- OO实现ALV TABLE 十一:ALV的聚合,排序,过滤
- python创建一个类初始化两个变量name、age_Python小白入门:第八讲||类
- 导出excel加粗_Python办公自动化|从Word到Excel
- Python:3种方式实现随机生成8位字符
- Python中*args和**kwargs