溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

發(fā)布時間:2022-03-31 10:00:26 來源:億速云 閱讀:154 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么”文章能幫助大家解決問題。

三層

三層只是一個比較好的軟件架構,不是非用三層不可。

  • 界面層UI;

  • 數(shù)據訪問層DAL(Data Access Layer);

  • 業(yè)務邏輯層BLL(business logic layer )。實體類就是Model;對數(shù)據進行操作的代碼寫在DAL中,一般就是SQL語句,DAL只有對數(shù)據的操作,沒有“如果金額大于20則不能刪除”這樣的邏輯;BLL調用DAL中的代碼進行邏輯操作,比如“如果金額大于20則不能刪除”。SQL語句、ADO.Net的類一般只應該出現(xiàn)在DAL中。

先對比用SQLHelper和三層實現(xiàn)Age自增的區(qū)別。

我們先做個SQLHelper自增

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

一、設計好winform窗體

下面我們直接添加配置文件和SqlHelper

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二、添加配置文件和SqlHelper

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三、添加引用

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

四、添加配置文件

這樣的話配置文件和SqlHelper就都有了。

首先想一下,要寫之前還是要確定一下Sql語句。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

五、確定Sql語句

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

六、VS代碼

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

七、SqlHelper執(zhí)行結果

接下來我們用三層實現(xiàn)年齡自動增長:

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

八、寫好winform窗體

按照上一題的方法添加配置文件和SplHelper并添加引用。

用三層寫必須分的清清楚楚的。

剛寫好的winform窗體就可以理解成界面層UI。當然,也可以用ASP.NET的web頁面來表現(xiàn),或者手機頁面。

還需要一個數(shù)據訪問層DAL,我們需要建個文件夾。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

九、添加DAL文件夾

再建一個BLL凡是跟數(shù)據邏輯上有關系的都建在這里面。業(yè)務邏輯層BLL

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十、業(yè)務邏輯層BLL

驗證數(shù)據是否存在就屬于業(yè)務邏輯。

SqlHelper跟數(shù)據庫打交道所以要把SqlHelper放到數(shù)據訪問層DAL里面。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十一、SqlHelper放到數(shù)據訪問層DAL里

接下來我要操作的是TblStudent這張表,我可能對這張表進行增刪查改各種操作。所以,我建個類,就是對TblStudent表進行的操作。它是對數(shù)據訪問層DAL,我們在TblStudent后面加個Dal。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十二、TblStudentDal類

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十三、數(shù)據訪問層的代碼

再創(chuàng)建個類是業(yè)務邏輯層。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十四、業(yè)務邏輯層代碼

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十五、界面層調業(yè)務邏輯層,業(yè)務邏輯層調數(shù)據訪問層

千萬不能界面層直接調數(shù)據訪問層,否則的話會造成很多的麻煩的。三層的目的就是分工明確,互不影響。

***,我們看下執(zhí)行的效果。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十六、執(zhí)行后的效果

先記住:配置文件是和界面層UI在一起的。等會我寫案例,給大家演示一下。

下面我們用三層校驗用戶名和密碼。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十七、設計好登錄界面

然后我們要確定Sql語句,怎么樣判斷用戶名是否存在,密碼是否正確呢?

根據用戶輸入的用戶名,找到密碼

如果找到密碼,說明用戶名存在;如果密碼不存在說明用戶名不存在。

如果找到密碼,驗證一下是否正確,就可以判斷是否登陸成功了。

select     CC_AutoId,     CC_Loginpassword from T_Seats where CC_LoginId=@uid

2.寫數(shù)據訪問層

想一下執(zhí)行完Sql語句返回的結果是什么呢?

怎么把一條記錄的多個列進行返回。

數(shù)據訪問層,返回一個對象。(需要用到Model)

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十八、寫好Model

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

十九、寫好數(shù)據訪問層

數(shù)據訪問層,根據用戶名獲取當前用戶的基本信息。

3.寫業(yè)務邏輯層。在年齡自動增長中的業(yè)務邏輯層就是個打醬油的。

這塊的業(yè)務邏輯層就得有東西了。

如何確定業(yè)務邏輯層的方法參數(shù)與返回值,根據表現(xiàn)層(調用者)的需求來確定。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十、寫個枚舉

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十一、寫好MD5

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十二、寫好業(yè)務邏輯層

***我們寫界面層

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十三、寫好界面層

好,看下***的執(zhí)行結果。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十四、***顯示效果

接下來我們實現(xiàn)修改密碼的功能:

修改密碼和我們ADO寫過的需求一模一樣。修改密碼的按鈕一開始是被禁用的。當成功之后,把登錄的id記下來,修改密碼按鈕可用。當點它的時候再彈出一個窗口來,這個窗口是用來修改密碼的。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十五、寫好***個窗體

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十六、寫好第二個窗體

想想怎么實現(xiàn)這個功能?

登錄成功以后啟動修改密碼按鈕,記住用戶的id,得寫個靜態(tài)類。那么這個類寫入哪一層呢?接下來就該確定下Sql語句,首先驗證下輸入新密碼是否正確(與Sql無關),驗證舊密碼時與Sql有關。

在做這個功能之前我們再看下三層的具體寫法。

  • UI → 表現(xiàn)層,數(shù)據的采集,與數(shù)據的展示。

  • Bll → 業(yè)務邏輯層,與業(yè)務相關的所有邏輯判斷與處理。

  • Dal → 數(shù)據訪問層,只是操作數(shù)據庫的操作,把sql語句執(zhí)行,返回相應的結果。(一般不建議做任何邏輯處理。)

Model

像上題中判斷文本框是否為空,不能輸入特殊的符號等要放在業(yè)務邏輯層。判斷的是取出的數(shù)據是不是為空,不是文本框本身不是為空。

寫在界面層也行,但是我現(xiàn)在要把wins窗體換成web頁面,界面層中的判斷還得再寫一遍。要是寫在業(yè)務邏輯層的話,就只寫界面層的代碼就行了。

像注冊郵箱的判斷都是JS的功勞,不是業(yè)務邏輯層的問題。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十七、JS判斷

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十八、界面層邏輯

靜態(tài)類在表現(xiàn)層

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

二十九、把Id從業(yè)務邏輯層傳出來

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十、界面層代碼

運行看下現(xiàn)在的效果。這樣做的好處是,不要等都寫完再調試。誰都不是神,這樣分步寫,容易找出自己寫的代碼的錯誤。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十一、顯示***部分成果

修改密碼操作首先是要確定Sql語句執(zhí)行過程,思路:兩次輸入的新密碼是否一致,舊密碼是否正確,然后修改密碼。判斷一致不需要Sql語句,判斷舊密碼是否正確需要我們寫Sql語句。修改密碼也要寫Sql語句。

1.確定舊密碼是否正確的Sql語句

autoId,oldpwd   "select count(*) from T_Seats where cc_autoId=@autoid and cc_loginPassword=@pwd"

下面我們寫數(shù)據訪問層,由于還是操作那張表,不需要新建一個類。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十二、數(shù)據訪問層代碼

修改密碼的操作也是一條Sql語句,

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十三、數(shù)據訪問層-修改密碼代碼

好了數(shù)據訪問層中的代碼寫完了,現(xiàn)在我們開始寫業(yè)務邏輯層中的代碼。

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十四、業(yè)務邏輯層用到的枚舉

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十五、業(yè)務邏輯層中的代碼

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

三十六、三層架構圖

SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么

關于“SQLHelper和三層實現(xiàn)Age自增的區(qū)別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI