您好,登錄后才能下訂單哦!
這篇文章主要介紹“SQLHelper和三層實現Age自增的區別是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SQLHelper和三層實現Age自增的區別是什么”文章能幫助大家解決問題。
三層
三層只是一個比較好的軟件架構,不是非用三層不可。
界面層UI;
數據訪問層DAL(Data Access Layer);
業務邏輯層BLL(business logic layer )。實體類就是Model;對數據進行操作的代碼寫在DAL中,一般就是SQL語句,DAL只有對數據的操作,沒有“如果金額大于20則不能刪除”這樣的邏輯;BLL調用DAL中的代碼進行邏輯操作,比如“如果金額大于20則不能刪除”。SQL語句、ADO.Net的類一般只應該出現在DAL中。
先對比用SQLHelper和三層實現Age自增的區別。
我們先做個SQLHelper自增
一、設計好winform窗體
下面我們直接添加配置文件和SqlHelper
二、添加配置文件和SqlHelper
三、添加引用
四、添加配置文件
這樣的話配置文件和SqlHelper就都有了。
首先想一下,要寫之前還是要確定一下Sql語句。
五、確定Sql語句
六、VS代碼
七、SqlHelper執行結果
接下來我們用三層實現年齡自動增長:
八、寫好winform窗體
按照上一題的方法添加配置文件和SplHelper并添加引用。
用三層寫必須分的清清楚楚的。
剛寫好的winform窗體就可以理解成界面層UI。當然,也可以用ASP.NET的web頁面來表現,或者手機頁面。
還需要一個數據訪問層DAL,我們需要建個文件夾。
九、添加DAL文件夾
再建一個BLL凡是跟數據邏輯上有關系的都建在這里面。業務邏輯層BLL
十、業務邏輯層BLL
驗證數據是否存在就屬于業務邏輯。
SqlHelper跟數據庫打交道所以要把SqlHelper放到數據訪問層DAL里面。
十一、SqlHelper放到數據訪問層DAL里
接下來我要操作的是TblStudent這張表,我可能對這張表進行增刪查改各種操作。所以,我建個類,就是對TblStudent表進行的操作。它是對數據訪問層DAL,我們在TblStudent后面加個Dal。
十二、TblStudentDal類
十三、數據訪問層的代碼
再創建個類是業務邏輯層。
十四、業務邏輯層代碼
十五、界面層調業務邏輯層,業務邏輯層調數據訪問層
千萬不能界面層直接調數據訪問層,否則的話會造成很多的麻煩的。三層的目的就是分工明確,互不影響。
***,我們看下執行的效果。
十六、執行后的效果
先記住:配置文件是和界面層UI在一起的。等會我寫案例,給大家演示一下。
下面我們用三層校驗用戶名和密碼。
十七、設計好登錄界面
然后我們要確定Sql語句,怎么樣判斷用戶名是否存在,密碼是否正確呢?
根據用戶輸入的用戶名,找到密碼
如果找到密碼,說明用戶名存在;如果密碼不存在說明用戶名不存在。
如果找到密碼,驗證一下是否正確,就可以判斷是否登陸成功了。
select CC_AutoId, CC_Loginpassword from T_Seats where CC_LoginId=@uid
2.寫數據訪問層
想一下執行完Sql語句返回的結果是什么呢?
怎么把一條記錄的多個列進行返回。
數據訪問層,返回一個對象。(需要用到Model)
十八、寫好Model
十九、寫好數據訪問層
數據訪問層,根據用戶名獲取當前用戶的基本信息。
3.寫業務邏輯層。在年齡自動增長中的業務邏輯層就是個打醬油的。
這塊的業務邏輯層就得有東西了。
如何確定業務邏輯層的方法參數與返回值,根據表現層(調用者)的需求來確定。
二十、寫個枚舉
二十一、寫好MD5
二十二、寫好業務邏輯層
***我們寫界面層
二十三、寫好界面層
好,看下***的執行結果。
二十四、***顯示效果
接下來我們實現修改密碼的功能:
修改密碼和我們ADO寫過的需求一模一樣。修改密碼的按鈕一開始是被禁用的。當成功之后,把登錄的id記下來,修改密碼按鈕可用。當點它的時候再彈出一個窗口來,這個窗口是用來修改密碼的。
二十五、寫好***個窗體
二十六、寫好第二個窗體
想想怎么實現這個功能?
登錄成功以后啟動修改密碼按鈕,記住用戶的id,得寫個靜態類。那么這個類寫入哪一層呢?接下來就該確定下Sql語句,首先驗證下輸入新密碼是否正確(與Sql無關),驗證舊密碼時與Sql有關。
在做這個功能之前我們再看下三層的具體寫法。
UI → 表現層,數據的采集,與數據的展示。
Bll → 業務邏輯層,與業務相關的所有邏輯判斷與處理。
Dal → 數據訪問層,只是操作數據庫的操作,把sql語句執行,返回相應的結果。(一般不建議做任何邏輯處理。)
Model
像上題中判斷文本框是否為空,不能輸入特殊的符號等要放在業務邏輯層。判斷的是取出的數據是不是為空,不是文本框本身不是為空。
寫在界面層也行,但是我現在要把wins窗體換成web頁面,界面層中的判斷還得再寫一遍。要是寫在業務邏輯層的話,就只寫界面層的代碼就行了。
像注冊郵箱的判斷都是JS的功勞,不是業務邏輯層的問題。
二十七、JS判斷
二十八、界面層邏輯
靜態類在表現層
二十九、把Id從業務邏輯層傳出來
三十、界面層代碼
運行看下現在的效果。這樣做的好處是,不要等都寫完再調試。誰都不是神,這樣分步寫,容易找出自己寫的代碼的錯誤。
三十一、顯示***部分成果
修改密碼操作首先是要確定Sql語句執行過程,思路:兩次輸入的新密碼是否一致,舊密碼是否正確,然后修改密碼。判斷一致不需要Sql語句,判斷舊密碼是否正確需要我們寫Sql語句。修改密碼也要寫Sql語句。
1.確定舊密碼是否正確的Sql語句
autoId,oldpwd "select count(*) from T_Seats where cc_autoId=@autoid and cc_loginPassword=@pwd"
下面我們寫數據訪問層,由于還是操作那張表,不需要新建一個類。
三十二、數據訪問層代碼
修改密碼的操作也是一條Sql語句,
三十三、數據訪問層-修改密碼代碼
好了數據訪問層中的代碼寫完了,現在我們開始寫業務邏輯層中的代碼。
三十四、業務邏輯層用到的枚舉
三十五、業務邏輯層中的代碼
三十六、三層架構圖
關于“SQLHelper和三層實現Age自增的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。