用四层结构方法开发信息管理系统
来源:互联网 发布:mac 印象笔记点击跳转 编辑:程序博客网 时间:2024/05/16 11:39
一般来说,分层的应用程序构造方法有以下一些优点:有利于代码复用;方便程序改动;提高代码的健壮性;有利于分工。
下面以一个简单的获取用户信息的数据库应用为例,讲解一下四层结构的信息管理应用的构造方法:
1.数据库层
//比较而言,带参数的存储过程比代码中字符串加变量构造的SQL语句效率高出很多,
//所以建议将常用查询写成存储过程以供调用
CREATE TABLE dbo.users (
FID int NOT NULL ,
FName nvarchar (50) NOT NULL ,
FPassword nvarchar (50) NULL ,
FRemark ntext NULL
)
CREATE PROCEDURE dbo.sp_sel_user
@pid int
AS
select * from users where fid=@pid
2.数据组件层
//根据调用者提供的SQL语句、存储过程名称及参数等数据库对象信息返回一定格式的应用程序对象。
//数据组件需要数量相对较少,但使用面很广,一般需加入较全面的事务及异常处理,
//这里限于篇幅作了省略。
public class CDatabase
{
private string mConnectString = "Provider=SQLOLEDB.1;Data Source=mymachine;Initial Catalog=mydatabase;User ID=sa;Password=pwd;";
public bool RunProcedure(string sProcedureName, System.Data.OleDb.OleDbParameter[] oParams, out OleDbDataReader oReader)
{
OleDbConnection oConnection=new OleDbConnection(this.mConnectString);
OleDbCommand oCommand = new OleDbCommand(sProcedureName, oConnection);
oCommand.CommandType = CommandType.StoredProcedure;
if (oParams != null)
{
foreach (OleDbParameter oParam in oParams)
oCommand.Parameters.Add(oParam);
}
oReader = oCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return true;
}
public string ConnectString
{
get
{
return this.mConnectString;
}
set
{
this.mConnectString=value;
}
}
}
3.业务逻辑层
//根据调用者提供的用户ID号获取所有用户信息。
//业务层主要任务为构造业务对象和调用数据组件从数据库获取数据,
//这是实现起来最复杂的一个层面,需要熟悉数据库结构,
//并根据用户层需要设计业务对象及数据库对象。
public class CUser
{
private int mID;
private string mName;
private string mPassword;
private string mRemark;
public CUser(int pID)
{
CDatabase cdb=new CDatabase();
OleDbParameter oParam=new OleDbParameter();
oParam.ParameterName="@pid";
oParam.OleDbType=OleDbType.Integer;
oParam.Value=pID;
OleDbParameter[] oParams={oParam};
OleDbDataReader oReader;
cdb.RunProc("sp_sel_user",oParams,out oReader);
this.mID=pID;
this.mName=oReader["FName"];
this.mPassword=oReader["FPassword"];
this.mRemark=oReader["FRemark"];
}
public int ID
{
get
{
return mID;
}
set
{
mID=value;
}
}
public string Name
{
get
{
return mName;
}
set
{
mName=value;
}
}
public string Password
{
get
{
return mPassword;
}
set
{
mPassword=value;
}
}
public string Remark
{
get
{
return mRemark;
}
set
{
mRemark=value;
}
}
}
4.用户界面层
//根据输入的用户ID号获取用户详细信息并写入页面TextBox元素中。
//在页面层不需要再和数据库打交道,只需调用相应的业务组件即可,
//这样就算界面有大的改动也可从容自如
private void Button1_Click(object sender, System.EventArgs e)
{
CUser user=new CUser(this.txtID.Text);
this.txtName.Text=user.Name;
this.txtPassword.Text=user.Password;
this.txtRemark.Text=user.Remark;
}
- 用四层结构方法开发信息管理系统
- 用四层结构方法开发信息管理系统
- 用四层结构方法开发信息管理系统
- 用四层结构方法开发信息管理系统
- 三层结构 学生信息管理系统
- 信息管理系统的快速开发
- 信息管理系统的快速开发
- web开发学生信息管理系统
- 信息管理系统设计书的结构框架
- 学生信息管理系统---之结构、关系分析
- 使用结构体实现学生信息管理系统
- 学生信息管理系统-结构体编写
- DAO 系统(信息管理系统的开发)
- .net 信息管理系统 快速开发架构
- 配置实现-快速开发实现信息管理系统
- 配置实现-提升信息管理系统开发效率
- 信息管理系统开发利器-配置实现
- java开发医疗信息管理系统源代码下载
- 影响世界的营销寓言!
- [人生日志]1月30日的日记
- 成长中必须知道的10个故事 也是做人,做营销必须知道的故事:
- 网站项目模型及业务流程分析
- 工作流管理系统(WfMS)介绍
- 用四层结构方法开发信息管理系统
- 网站项目实施业务流程及规范
- 局域网中无法访问的解决方法
- 湘西之行
- 中国最大的500家外商投资企业
- 重色清友
- ASP.NET组件设计Step by Step(8)
- 经典单身食谱
- 英语中如何优雅的骂人