三层架构分析:
表示层[MySchool .UI ]:
类型:Winform或者控制台应用程序
包含:
1,可视化界面
2,配置文件:
<connectionStrings>
<add name="sqlCon" connectionString="server=.;database=schooldb;uid=sa;pwd=sa;"/>
</connectionStrings>
3,引用关系:引用模型层和业务逻辑层
using School.BLL;
using School.Models;
业务逻辑层[ MySchool.BLL]:业务逻辑层或为表示层提供数据服务
类型:(类库)
包含:StuInfoManager.cs等类文件
引用关系:引用模型层和数据库访问层
using School.Models;
using School.DAL;
数据库访问层[MySchool.DAL]:编写代码操作数据库数据
类型:(类库)
包含:StuInfoService.cs类文件 DBHelper.cs类文件
引用关系:引用模型层
using School.Models;
模型层[MySchool.Models ]:是数据库里的表的映射
类型:(类库)
包含:源于数据库表的(Student.cs)类文件
---------------------------------------------const 与 readonly区别--------------------------------------
1. const既能修饰成员变量 又可以修饰局部变量 ; readonly只能修饰成员变量
2. const必须声明的同时赋值,编译时常量 ; readonly可以运行时赋值 运行时常量
3. const一般不修饰引用类型除了string,如果非要修饰引用类型,那么初始值必须为null;
readonly 什么类型都可以
4. const自带静态,所以不能与static共存; readonly可以与static共存
---------------------------------------------配置文件--------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="connString" connectionString="Data Source ……" />
</connectionStrings>
</configuration>
获取配置文件里的connectionString的值:
方式一:ConfigurationManager.ConnectionStrings["connString"].ConnectionString
方式二:ConfigurationManager.ConnectionStrings["connString"].ToString( );
---------------------------------------------异常-----------------------------------
方式一:try
{
//……
}
catch(异常对象)
{
//异常处理
}
方式二:try
{
//……
}
finally
{
}
方式三:try
{
//……
}
catch(异常对象)
{
//异常处理
}
finally
{
}
多路捕捉异常:
try
{
//……
}
catch(子类异常对象)
{
//异常处理
}
catch(父类异常对象)
{
//异常处理
}
finally
{
}
注意:多路捕捉异常,子类在上 父类在下