基于三层架构的_第1页
基于三层架构的_第2页
基于三层架构的_第3页
基于三层架构的_第4页
基于三层架构的_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于三层架构的.NET培训廖德钦22295953@.NET编程框架如何建立这种框架1、启动VS20102、文件

新建

项目如果看到的菜单是文件

新建项目工具

导入和导出设置

重置所有设置

否VisualC#开发设置3、其他类型项目VisualStudio解决方案

空白解决方案如何建立这种框架在解决方案中添加类库添加Model层添加其他类库用同样的方法可添加DALBLLCommon添加Web层添加Web层框架结构说明Model模型层DAL数据访问层BLL业务逻辑层Web表示层Common通用类各层的引用关系DAL层引用Model层BLL层引用Model层DAL层Web层引用Model层BLL层Common如何添加引用如何添加引用Model层将数据库表结构转换成对应的.NET类数据库中的每个表,对应成Model下的一个类文件名为数据库中的表名类名为数据库中的表名类的内容为数据库中对应表的字段定义模型层示例数据库表结构U_IdU_NameU_PassU_Other1张三Zhangsan2李四lisi3王五wangwu4赵六zhaoliuModel层数据表--用户表createtableT_Users(

U_Idbigintidentity(1,1)primarykey,--用户编号 U_Namevarchar(20),--用户名 U_Passvarchar(255),--用户密码 U_Othervarchar(100)--其他信息)T表示Table的缩写Users表示表的含义表名的含义的首字母作为前缀Model层代码T_Users.cs///<summary>///用户表模型

///</summary>

publicclassT_Users{///<summary>///用户编号

///</summary>publicUInt64U_Id{get;set;}

///<summary>///用户名

///</summary>publicstringU_Name{get;set;}///<summary>///用户密码

///</summary>publicstringU_Pass{get;set;}///<summary>///其他信息

///</summary>publicstringU_Other{get;set;}}文件名就是数据库表名类名就是数据库表名Public表示该类可以在其他地方直接访问XML注释法代码编译时,可直接生成对应的XML文件,用于智能提示这样的变量,一般叫做属性Get和set分别表示可以直接获取或修改该属性的值U_Id对应数据库中的U_Id字段DAL层示例DAL层数据访问层直接与数据库进行数据交互属于底层操作DAL层代码--添加用户的存储过程createprocP_UsersInsert@U_Namevarchar(20),@U_Passvarchar(255),@U_Othervarchar(100)as insertintoT_Usersvalues(@U_Name,@U_Pass,@U_Other)P表示Proc的第一个字母Users表示表名Insert表示功能参数名,在对应字段名前面加@符号DAL层数据库--登录存储过程createprocP_UsersLogin@U_Namevarchar(20),@U_Passvarchar(255)as selectU_IdfromT_UserswhereU_Name=@U_NameandU_Pass=@U_PassDAL层数据库--获取全部用户的存储过程createprocP_UsersSelectAllas selectU_Id,U_Name,U_OtherfromT_UsersDAL层数据库--删除用户的存储过程createprocP_UsersDelete@U_Idbigintas deletefromT_UserswhereU_Id=@U_IdDAL层数据库--修改用户信息的存储过程createprocP_UsersUpdate@U_Idbigint,@U_Namevarchar(20),@U_Othervarchar(100)as updateT_UserssetU_Name=@U_Name,U_Other=@U_OtherwhereU_Id=@U_IdDAL层代码数据库底层操作已经封装在DBUtility.sqlHelpers类中将DBUtility文件夹下的两个文件拷贝到DAL层所在的路径下在DAL层中加入引用DBUtility.dll在每个类的文件头加入usingDBUtility;使用sqlHelpers定义对象sqlHelperssql;sqlHelpers的方法函数功能ExecuteProcReturnDataTable(stringcmdText)执行无参数存储过程,返回查询数据表ExecuteProcReturnDataTable(stringcmdText,SqlParameter[]Sps)执行有参数存储过程,返回查询数据表ExecuteProcReturnVoid(stringcmdText)执行无参存储过程,不返回值ExecuteProcReturnVoid(stringcmdText,SqlParameter[]Sps)执行有参存储过程,不返回值ExecuteProcReturnString(stringcmdText)执行无参存储过程,以字符串方式返回查询结果集中第一行第一列的值ExecuteProcReturnString(stringcmdText,SqlParameter[]Sps)执行有参存储过程,以字符串方式返回查询结果集中第一行第一列的值sqlHelpers的方法DataTableExecuteTextReturnDataTable(stringcmdText)执行无参数文本命令,返回查询数据表ExecuteTextReturnDataTable(stringcmdText,SqlParameter[]Sps)执行有参数文本命令,返回查询数据表ExecuteTextReturnVoid(stringcmdText)执行无参文本命令,不返回值ExecuteTextReturnVoid(stringcmdText,SqlParameter[]Sps)执行有参文本命令,不返回值ExecuteTextReturnString(stringcmdText)执行无参文本命令,以字符串方式返回查询结果集中第一行第一列的值ExecuteTextReturnString(stringcmdText,SqlParameter[]Sps)执行有参文本命令,以字符串方式返回查询结果集中第一行第一列的值DAL层代码T_Users.cs///<summary>///用户登录

///</summary>///<paramname="model">用户表模型对象</param>///<returns>///查询得到的结果集

///</returns>publicDataTableUserLogin(Model.T_Usersmodel){stringcmdText="P_UsersLogin";SqlParameter[]Sps=newSqlParameter[2];Sps[0]=newSqlParameter("@U_Name",SqlDbType.VarChar,20);Sps[0].Value=model.U_Name;Sps[1]=newSqlParameter("@U_Pass",SqlDbType.VarChar,255);Sps[1].Value=model.U_Pass;returnsql.ExecuteProcReturnDataTable(cmdText,Sps);}DAL层代码///<summary>///添加用户信息

///</summary>///<paramname="model">用户模型</param>publicvoidUsersInsert(Model.T_Usersmodel){stringcmdText="P_UsersInsert";SqlParameter[]Sps=newSqlParameter[3];Sps[0]=newSqlParameter("@U_Name",SqlDbType.VarChar,20);Sps[0].Value=model.U_Name;Sps[1]=newSqlParameter("@U_Pass",SqlDbType.VarChar,255);Sps[1].Value=model.U_Pass;Sps[2]=newSqlParameter("@U_Other",SqlDbType.VarChar,100);Sps[2].Value=model.U_Other;sql.ExecuteProcReturnVoid(cmdText,Sps);}DAL层代码///<summary>///获取全部用户信息

///</summary>///<returns>///查询结果集

///</returns>publicDataTableUsersSelectALL(){stringcmdText="P_UsersSelectAll";returnsql.ExecuteProcReturnDataTable(cmdText);}DAL层代码///<summary>///删除指定编号的用户

///</summary>///<paramname="model">数据表模型</param>publicvoidUsersDelete(Model.T_Usersmodel){stringcmdText="P_UsersDelete";SqlParameter[]Sps=newSqlParameter[1];Sps[0]=newSqlParameter("@U_Id",SqlDbType.BigInt);Sps[0].Value=model.U_Id;sql.ExecuteProcReturnVoid(cmdText,Sps);}DAL层代码///<summary>///修改指定编号的用户信息

///</summary>///<paramname="model">用户表模型</param>publicvoidUsersUpdate(Model.T_Usersmodel){stringcmdText="P_UsersUpdate";SqlParameter[]Sps=newSqlParameter[3];Sps[0]=newSqlParameter("@U_Id",SqlDbType.BigInt);Sps[0].Value=model.U_Id;Sps[1]=newSqlParameter("@U_Name",SqlDbType.VarChar,20);Sps[1].Value=model.U_Name;Sps[2]=newSqlParameter("@U_Other",SqlDbType.VarChar,100);Sps[2].Value=model.U_Other;sql.ExecuteProcReturnVoid(cmdText,Sps);}BLL层示例BLL层代码T_Users.cs///<summary>///用户登录

///</summary>///<paramname="model">用户表模型对象</param>///<returns>///查询得到的结果集

///</returns>publicDataTableUserLogin(Model.T_Usersmodel){returndal.UserLogin(model);}BLL层代码///<summary>///添加用户信息

///</summary>///<paramname="model">用户模型</param>publicvoidUsersInsert(Model.T_Usersmodel){dal.UsersInsert(model);}BLL层代码///<summary>///获取全部用户信息

///</summary>///<returns>///查询结果集

///</returns>publicDataTableUsersSelectALL(){returndal.UsersSelectAll();}BLL层代码///<summary>///删除指定编号的用户

///</summary>///<paramname="model">数据表模型</param>publicvoidUsersDelete(Model.T_Usersmodel){dal.UsersDelete(model);}BLL层代码///<summary>///修改指定编号的用户信息

///</summary>///<paramname="model">用户表模型</param>publicvoidUsersUpdate(Model.T_Usersmodel){dal.UsersUpdate(model);}Web层示例注册界面设计注册界面设计1、添加注册页面文件右击Web

添加

新建项Web窗体输入文件名Register.aspx2、切换到设计视图3、从HTML工具组中拖一个表格(Table)放到页面上表格默认为3行3列注册界面设计4、在第一行第一列中输入用户名5、在第二行第一列中输入密码6、在第三行第一列中输入确认密码7、鼠标在第三行任意位置处右击

插入

下面的行8、重复第7步注册界面设计8、在第四行第一列输入其他信息9、鼠标定位在第三列任意行

右击

删除

删除列10、鼠标定位在第五行任意单元格

按住鼠标左键向左(右)拖动(选中第五行的两个单元格)右击

修改

合并单元格注册界面设计11、拖放标准工具组控件1)拖一个TextBox控件到第一行第二列2)拖一个TextBox控件到第二行第二列3)拖一个TextBox控件到第三行第二列4)拖一个TextBox控件到第四行第二列5)拖一个Button控件到第五行第一列注册页面设计12、修改控件属性1)右击第一行第二列的TextBox控件

修改其ID属性值为txtName2)右击第二行第二列的TextBox控件

修改其ID属性值为txtPass,TextMode属性值为PassWord3)右击第三行第二列的TextBox控件

修改其ID属性值为txtPass1,TextMode属性值为PassWord4)右击第四行第二列的TextBox控件

修改其ID属性值为txtOther5)右击第五行第一列的Button控件

修改其ID属性值为btnRegister,Text属性值为提交注册注册页面设计13、拖放验证控件1)拖放一个RequiredFieldValidator控件到第一行的文本框后面2)拖放一个RequiredFieldValidator控件到第二行的文本框后面3)拖放一个RequiredFieldValidator控件到第三行的文本框后面4)拖放一个CompareValidator控件到第三的文本框后面注册页面设计14、修改验证控件的属性1)修改第一行的RequiredFieldValidator属性ControlToValidate:txtNameDisplay:DynamicText:请输入用户名2)同样的可修改其他RequiredFieldValidator控件的属性3)修改CompareValidator控件属性ControlToValidate:txtPass1ControlToCompare:txtPassDisplay:DynamicText:两次输入的密码不一致注册页面代码设计双击Button控件,编写相应的代码注册原理及流程注册页面代码设计1、声明用户模型和用户业务逻辑层对象Model.T_UsersModelUsers;BLL.T_UsersBllUsers;2、初始化对象(可放在Page_Load事件里)ModelUsers=newModel.T_Users();BllUsers=newBLL.T_Users("ConnToTest");注册页面代码设计说明BllUsers=newBLL.T_Users("ConnToTest");上述参数ConnToTest表示的数据库连接字符串的名字这个参数存放在Web.config文件中打开Web.config文件找到<connectionStrings>节点添加用户自己的数据库连接字符串<addname="ConnToTest"connectionString="server=.;uid=sa;pwd=sa123456;database=DBTest;"/>注册页面代码设计连接字符串参数说明server=服务器IP地址;小数点表示本地服务器()uid=登录SQL服务器的账号;Pwd=登录SQL服务器的密码;Database=用户数据库;以上四个参数,结束时候用分号结束注册页面代码设计注册代码ModelUsers.U_Name=txtName.Text.Trim();ModelUsers.U_Pass=txtPass.Text.Trim();ModelUsers.U_Other=txtOther.Text.Trim();BllUsers.UsersInsert(ModelUsers);说明Trim()表示去除字符串两端的空白防止用户误输入登录页面设计登录页面设计1、添加登录页面右击解决方案中的Web项目

添加

新建项Web窗体输入登录页面名字UserLogin.aspx2、切换到设计视图3、基本布局从HTML工具组中拖一个Table到页面上登录页面设计4、在表格的第一行第一列输入用户名5、在表格的第二行第一列输入密码6、鼠标定位在第三列,右击

删除

删除列7、鼠标定位在第三行,按住鼠标左键拖动(左/右),选中第三行的两个单元格右击

修改

合并单元格登录页面设计8、从标准工具组中拖放基本控件1)拖一个TextBox到第一行第二列修改其ID属性值为txtName2)拖一个TextBox到第二行第二列修改其ID属性值为txtPass修改其TextMode属性值为PassWord3)拖一个Button到第三行第一列修改其ID属性值为btnLogin修改其Text属性值为“登录”登录页面设计9、从验证工具组中拖放验证控件1)拖一个RequiredFieldValidator到txtName后面,修改其属性ControlToValidate:txtNameDisplay:DynamicText:请输入用户名2)拖一个RequiredFieldValidator到txtPass后面,修改其属性ControlToValidate:txtPassDisplay:DynamicText:请输入密码登录页面设计10、其他设计1)从HTML工具组中拖一个Input(Reset)到登录按钮后面,修改其属性ID:btnResetName:btnRe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论