基于三層架構(gòu)的_第1頁
基于三層架構(gòu)的_第2頁
基于三層架構(gòu)的_第3頁
基于三層架構(gòu)的_第4頁
基于三層架構(gòu)的_第5頁
已閱讀5頁,還剩84頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于三層架構(gòu)的.NET培訓(xùn)廖德欽22295953@.NET編程框架如何建立這種框架1、啟動VS20102、文件

新建

項目如果看到的菜單是文件

新建項目工具

導(dǎo)入和導(dǎo)出設(shè)置

重置所有設(shè)置

否VisualC#開發(fā)設(shè)置3、其他類型項目VisualStudio解決方案

空白解決方案如何建立這種框架在解決方案中添加類庫添加Model層添加其他類庫用同樣的方法可添加DALBLLCommon添加Web層添加Web層框架結(jié)構(gòu)說明Model模型層DAL數(shù)據(jù)訪問層BLL業(yè)務(wù)邏輯層Web表示層Common通用類各層的引用關(guān)系DAL層引用Model層BLL層引用Model層DAL層Web層引用Model層BLL層Common如何添加引用如何添加引用Model層將數(shù)據(jù)庫表結(jié)構(gòu)轉(zhuǎn)換成對應(yīng)的.NET類數(shù)據(jù)庫中的每個表,對應(yīng)成Model下的一個類文件名為數(shù)據(jù)庫中的表名類名為數(shù)據(jù)庫中的表名類的內(nèi)容為數(shù)據(jù)庫中對應(yīng)表的字段定義模型層示例數(shù)據(jù)庫表結(jié)構(gòu)U_IdU_NameU_PassU_Other1張三Zhangsan2李四lisi3王五wangwu4趙六zhaoliuModel層數(shù)據(jù)表--用戶表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;}}文件名就是數(shù)據(jù)庫表名類名就是數(shù)據(jù)庫表名Public表示該類可以在其他地方直接訪問XML注釋法代碼編譯時,可直接生成對應(yīng)的XML文件,用于智能提示這樣的變量,一般叫做屬性Get和set分別表示可以直接獲取或修改該屬性的值U_Id對應(yīng)數(shù)據(jù)庫中的U_Id字段DAL層示例DAL層數(shù)據(jù)訪問層直接與數(shù)據(jù)庫進行數(shù)據(jù)交互屬于底層操作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表示功能參數(shù)名,在對應(yīng)字段名前面加@符號DAL層數(shù)據(jù)庫--登錄存儲過程createprocP_UsersLogin@U_Namevarchar(20),@U_Passvarchar(255)as selectU_IdfromT_UserswhereU_Name=@U_NameandU_Pass=@U_PassDAL層數(shù)據(jù)庫--獲取全部用戶的存儲過程createprocP_UsersSelectAllas selectU_Id,U_Name,U_OtherfromT_UsersDAL層數(shù)據(jù)庫--刪除用戶的存儲過程createprocP_UsersDelete@U_Idbigintas deletefromT_UserswhereU_Id=@U_IdDAL層數(shù)據(jù)庫--修改用戶信息的存儲過程createprocP_UsersUpdate@U_Idbigint,@U_Namevarchar(20),@U_Othervarchar(100)as updateT_UserssetU_Name=@U_Name,U_Other=@U_OtherwhereU_Id=@U_IdDAL層代碼數(shù)據(jù)庫底層操作已經(jīng)封裝在DBUtility.sqlHelpers類中將DBUtility文件夾下的兩個文件拷貝到DAL層所在的路徑下在DAL層中加入引用DBUtility.dll在每個類的文件頭加入usingDBUtility;使用sqlHelpers定義對象sqlHelperssql;sqlHelpers的方法函數(shù)功能ExecuteProcReturnDataTable(stringcmdText)執(zhí)行無參數(shù)存儲過程,返回查詢數(shù)據(jù)表ExecuteProcReturnDataTable(stringcmdText,SqlParameter[]Sps)執(zhí)行有參數(shù)存儲過程,返回查詢數(shù)據(jù)表ExecuteProcReturnVoid(stringcmdText)執(zhí)行無參存儲過程,不返回值ExecuteProcReturnVoid(stringcmdText,SqlParameter[]Sps)執(zhí)行有參存儲過程,不返回值ExecuteProcReturnString(stringcmdText)執(zhí)行無參存儲過程,以字符串方式返回查詢結(jié)果集中第一行第一列的值ExecuteProcReturnString(stringcmdText,SqlParameter[]Sps)執(zhí)行有參存儲過程,以字符串方式返回查詢結(jié)果集中第一行第一列的值sqlHelpers的方法DataTableExecuteTextReturnDataTable(stringcmdText)執(zhí)行無參數(shù)文本命令,返回查詢數(shù)據(jù)表ExecuteTextReturnDataTable(stringcmdText,SqlParameter[]Sps)執(zhí)行有參數(shù)文本命令,返回查詢數(shù)據(jù)表ExecuteTextReturnVoid(stringcmdText)執(zhí)行無參文本命令,不返回值ExecuteTextReturnVoid(stringcmdText,SqlParameter[]Sps)執(zhí)行有參文本命令,不返回值ExecuteTextReturnString(stringcmdText)執(zhí)行無參文本命令,以字符串方式返回查詢結(jié)果集中第一行第一列的值ExecuteTextReturnString(stringcmdText,SqlParameter[]Sps)執(zhí)行有參文本命令,以字符串方式返回查詢結(jié)果集中第一行第一列的值DAL層代碼T_Users.cs///<summary>///用戶登錄

///</summary>///<paramname="model">用戶表模型對象</param>///<returns>///查詢得到的結(jié)果集

///</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>///查詢結(jié)果集

///</returns>publicDataTableUsersSelectALL(){stringcmdText="P_UsersSelectAll";returnsql.ExecuteProcReturnDataTable(cmdText);}DAL層代碼///<summary>///刪除指定編號的用戶

///</summary>///<paramname="model">數(shù)據(jù)表模型</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>///查詢得到的結(jié)果集

///</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>///查詢結(jié)果集

///</returns>publicDataTableUsersSelectALL(){returndal.UsersSelectAll();}BLL層代碼///<summary>///刪除指定編號的用戶

///</summary>///<paramname="model">數(shù)據(jù)表模型</param>publicvoidUsersDelete(Model.T_Usersmodel){dal.UsersDelete(model);}BLL層代碼///<summary>///修改指定編號的用戶信息

///</summary>///<paramname="model">用戶表模型</param>publicvoidUsersUpdate(Model.T_Usersmodel){dal.UsersUpdate(model);}Web層示例注冊界面設(shè)計注冊界面設(shè)計1、添加注冊頁面文件右擊Web

添加

新建項Web窗體輸入文件名Register.aspx2、切換到設(shè)計視圖3、從HTML工具組中拖一個表格(Table)放到頁面上表格默認為3行3列注冊界面設(shè)計4、在第一行第一列中輸入用戶名5、在第二行第一列中輸入密碼6、在第三行第一列中輸入確認密碼7、鼠標(biāo)在第三行任意位置處右擊

插入

下面的行8、重復(fù)第7步注冊界面設(shè)計8、在第四行第一列輸入其他信息9、鼠標(biāo)定位在第三列任意行

右擊

刪除

刪除列10、鼠標(biāo)定位在第五行任意單元格

按住鼠標(biāo)左鍵向左(右)拖動(選中第五行的兩個單元格)右擊

修改

合并單元格注冊界面設(shè)計11、拖放標(biāo)準工具組控件1)拖一個TextBox控件到第一行第二列2)拖一個TextBox控件到第二行第二列3)拖一個TextBox控件到第三行第二列4)拖一個TextBox控件到第四行第二列5)拖一個Button控件到第五行第一列注冊頁面設(shè)計12、修改控件屬性1)右擊第一行第二列的TextBox控件

修改其ID屬性值為txtName2)右擊第二行第二列的TextBox控件

修改其ID屬性值為txtPass,TextMode屬性值為PassWord3)右擊第三行第二列的TextBox控件

修改其ID屬性值為txtPass1,TextMode屬性值為PassWord4)右擊第四行第二列的TextBox控件

修改其ID屬性值為txtOther5)右擊第五行第一列的Button控件

修改其ID屬性值為btnRegister,Text屬性值為提交注冊注冊頁面設(shè)計13、拖放驗證控件1)拖放一個RequiredFieldValidator控件到第一行的文本框后面2)拖放一個RequiredFieldValidator控件到第二行的文本框后面3)拖放一個RequiredFieldValidator控件到第三行的文本框后面4)拖放一個CompareValidator控件到第三的文本框后面注冊頁面設(shè)計14、修改驗證控件的屬性1)修改第一行的RequiredFieldValidator屬性ControlToValidate:txtNameDisplay:DynamicText:請輸入用戶名2)同樣的可修改其他RequiredFieldValidator控件的屬性3)修改CompareValidator控件屬性ControlToValidate:txtPass1ControlToCompare:txtPassDisplay:DynamicText:兩次輸入的密碼不一致注冊頁面代碼設(shè)計雙擊Button控件,編寫相應(yīng)的代碼注冊原理及流程注冊頁面代碼設(shè)計1、聲明用戶模型和用戶業(yè)務(wù)邏輯層對象Model.T_UsersModelUsers;BLL.T_UsersBllUsers;2、初始化對象(可放在Page_Load事件里)ModelUsers=newModel.T_Users();BllUsers=newBLL.T_Users("ConnToTest");注冊頁面代碼設(shè)計說明BllUsers=newBLL.T_Users("ConnToTest");上述參數(shù)ConnToTest表示的數(shù)據(jù)庫連接字符串的名字這個參數(shù)存放在Web.config文件中打開Web.config文件找到<connectionStrings>節(jié)點添加用戶自己的數(shù)據(jù)庫連接字符串<addname="ConnToTest"connectionString="server=.;uid=sa;pwd=sa123456;database=DBTest;"/>注冊頁面代碼設(shè)計連接字符串參數(shù)說明server=服務(wù)器IP地址;小數(shù)點表示本地服務(wù)器()uid=登錄SQL服務(wù)器的賬號;Pwd=登錄SQL服務(wù)器的密碼;Database=用戶數(shù)據(jù)庫;以上四個參數(shù),結(jié)束時候用分號結(jié)束注冊頁面代碼設(shè)計注冊代碼ModelUsers.U_Name=txtName.Text.Trim();ModelUsers.U_Pass=txtPass.Text.Trim();ModelUsers.U_Other=txtOther.Text.Trim();BllUsers.UsersInsert(ModelUsers);說明Trim()表示去除字符串兩端的空白防止用戶誤輸入登錄頁面設(shè)計登錄頁面設(shè)計1、添加登錄頁面右擊解決方案中的Web項目

添加

新建項Web窗體輸入登錄頁面名字UserLogin.aspx2、切換到設(shè)計視圖3、基本布局從HTML工具組中拖一個Table到頁面上登錄頁面設(shè)計4、在表格的第一行第一列輸入用戶名5、在表格的第二行第一列輸入密碼6、鼠標(biāo)定位在第三列,右擊

刪除

刪除列7、鼠標(biāo)定位在第三行,按住鼠標(biāo)左鍵拖動(左/右),選中第三行的兩個單元格右擊

修改

合并單元格登錄頁面設(shè)計8、從標(biāo)準工具組中拖放基本控件1)拖一個TextBox到第一行第二列修改其ID屬性值為txtName2)拖一個TextBox到第二行第二列修改其ID屬性值為txtPass修改其TextMode屬性值為PassWord3)拖一個Button到第三行第一列修改其ID屬性值為btnLogin修改其Text屬性值為“登錄”登錄頁面設(shè)計9、從驗證工具組中拖放驗證控件1)拖一個RequiredFieldValidator到txtName后面,修改其屬性ControlToValidate:txtNameDisplay:DynamicText:請輸入用戶名2)拖一個RequiredFieldValidator到txtPass后面,修改其屬性ControlToValidate:txtPassDisplay:DynamicText:請輸入密碼登錄頁面設(shè)計10、其他設(shè)計1)從HTML工具組中拖一個Input(Reset)到登錄按鈕后面,修改其屬性ID:btnResetName:btnRe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論