黑马程序员之C#学习笔记:最简单的三层架构学习总结
来源:互联网 发布:最好网络理财服务产品 编辑:程序博客网 时间:2024/05/16 09:05
-----------------------------------2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!--------------------------------
第一步:.右键解决方案,添加,新建项目,c#类库,命名为MODEL,对其下的类重命名:Model
代码
/// <summary>
/// 初始化登录名称、登录密码(Model类)
/// </summary>
private string adminUser =string.Empty; //设置用户名称为空值
private string adminPwd =string.Empty; //设置用户密码为空值
public string AdminUser
{
get
{
return this.adminUser;
}
set
{
this.adminUser = value;
}
}
public string AdminPwd
{
get
{
return this.adminPwd;
}
set
{
this.adminPwd = value;
}
}
第二步.右键解决方案,添加,新建项目,C#类库,命名为BLL,对其下的类重命名:Bll
代码
/// <summary>
/// 用户登录(BLL类)
/// </summary>
/// <paramname="m"></param>
///<returns></returns>
public static int sysLogin(Model m)
{
string str ="adminValid"; //存储过程名称
SqlParameter[] sqlParameter =
{
//将UI层传递过来的用户名称和密码赋值给存储过程中的变量分别是adminUser和adminPwd(注意大小写)
new SqlParameter("adminUser",m.AdminUser),
new SqlParameter("adminPwd",m.AdminPwd)
};
DAL d = new DAL();
returnInt32.Parse(d.ExecuteScalar(str,sqlParameter));
}
第三步.右键解决方案,添加,新建项目,C#类库,命名为DAL,对其下的类重命名:Dal
数据库名要自己进行改动:
代码
/// <summary>
/// 新建一个SQL登录链接
/// </summary>
///<returns></returns>
private static SqlConnectioncon()
{
return newSqlConnection("Data Source=localhost;Initial Catalog=MYDB;IntegratedSecurity=SSPI;");
}
/// <summary>
/// 执行操作(DAL类)
/// </summary>
/// <paramname="str"></param>
/// <paramname="sql"></param>
///<returns></returns>
public stringExecuteScalar(string str, SqlParameter[] sql)
{
SqlConnection con =DAL.con();
try
{
con.Open();
SqlCommand com = newSqlCommand(str, con);
com.CommandType =CommandType.StoredProcedure;
com.Parameters.AddRange(sql);
returnConvert.ToString(com.ExecuteScalar()); //返回受影响的行数(例如影响的行数为1,那么返回数值1到BLL层,然后BLL层将数值1返回到UI层)
}
catch (Exception Error)
{
throw Error;
}
finally
{
con.Close();
}
}
第四步.右键解决方案,添加,新建网站,asp.net网站,命名为Login,页面中加入两个TextBox控件和一个Label控件,还有一个Button,以下为Button的点击事件代码:
代码
//UI层
Model m = new Model(); //实例化Model类
m.AdminUser =this.TextBox1.Text.ToString(); //将文本框1中的值传递给Model类中的AdminUser
m.AdminPwd =this.TextBox2.Text.ToString(); //将文本框2中的值传递给Model类中的AdminPwd
if (BLL.sysLogin(m) > 0)
{
this.Label1.Text = "登录成功!马上进入管理平台...";
}
else
{
this.Label1.Text = "用户或密码错误,请重新输入!";
}
第五步: 写后台数据库存储过程
代码
--存储过程(按自己的数据库进行改动)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[adminValid]
@adminUser varchar(20),@adminPwd varchar(120)
AS
SELECT COUNT(*) FROM admin WHERE adminUser = @adminUser AND adminPwd =@adminPwd
--------------------------------------------------- 2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
- 黑马程序员之C#学习笔记:最简单的三层架构学习总结
- 【黑马程序员】三层架构(学习笔记)
- 黑马程序员之c#学习笔记:C#学习小总结
- 黑马程序员 C#学习笔记⑥ 三层架构基础实现员工信息管理
- 黑马程序员之C#学习笔记: Lambda表达式学习总结
- 最简单,最适合入门学习的三层架构例子
- 黑马程序员之C#学习笔记: 抽象类总结
- 黑马程序员之C#学习笔记:StringBuilder字符串总结
- C# 最简单的三层架构实例
- 黑马程序员C#学习笔记⑩ 简单的代码生成器
- 黑马程序员--学习笔记--对C#常用方法的总结
- 黑马程序员-------C#学习笔记之二
- 黑马程序员之C#学习笔记:arraylist
- C#软件开发三层架构的学习总结
- 黑马程序员之c#程序学习笔记:c#程序经典例子学习总结
- 黑马程序员之C# 学习笔记:打包的简述
- C#回顾学习笔记四十:三层架构
- C#学习之三层架构实例
- 面向对象程序设计六大原则
- linux 终端设备 - 线路规程
- C++指向类成员函数的指针
- CArray类的方法介绍
- 多线程笔记
- 黑马程序员之C#学习笔记:最简单的三层架构学习总结
- C++记录程序崩溃时的dumpfile
- SQLServer内部原理
- tomcat主目录及作用
- 编程语言串烧(一)
- idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法
- 函数指针参数传递问题
- 获取所有子控件
- Eclipse 保存文件时自动格式化代码