中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

SQLHelper和三層實現Age自增的區別是什么

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

這篇文章主要介紹“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自增

SQLHelper和三層實現Age自增的區別是什么

一、設計好winform窗體

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

SQLHelper和三層實現Age自增的區別是什么

二、添加配置文件和SqlHelper

SQLHelper和三層實現Age自增的區別是什么

三、添加引用

SQLHelper和三層實現Age自增的區別是什么

四、添加配置文件

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

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

SQLHelper和三層實現Age自增的區別是什么

五、確定Sql語句

SQLHelper和三層實現Age自增的區別是什么

六、VS代碼

SQLHelper和三層實現Age自增的區別是什么

七、SqlHelper執行結果

接下來我們用三層實現年齡自動增長:

SQLHelper和三層實現Age自增的區別是什么

八、寫好winform窗體

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

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

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

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

SQLHelper和三層實現Age自增的區別是什么

九、添加DAL文件夾

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

SQLHelper和三層實現Age自增的區別是什么

十、業務邏輯層BLL

驗證數據是否存在就屬于業務邏輯。

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

SQLHelper和三層實現Age自增的區別是什么

十一、SqlHelper放到數據訪問層DAL里

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

SQLHelper和三層實現Age自增的區別是什么

十二、TblStudentDal類

SQLHelper和三層實現Age自增的區別是什么

十三、數據訪問層的代碼

再創建個類是業務邏輯層。

SQLHelper和三層實現Age自增的區別是什么

十四、業務邏輯層代碼

SQLHelper和三層實現Age自增的區別是什么

十五、界面層調業務邏輯層,業務邏輯層調數據訪問層

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

***,我們看下執行的效果。

SQLHelper和三層實現Age自增的區別是什么

十六、執行后的效果

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

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

SQLHelper和三層實現Age自增的區別是什么

十七、設計好登錄界面

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

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

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

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

select     CC_AutoId,     CC_Loginpassword from T_Seats where CC_LoginId=@uid

2.寫數據訪問層

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

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

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

SQLHelper和三層實現Age自增的區別是什么

十八、寫好Model

SQLHelper和三層實現Age自增的區別是什么

十九、寫好數據訪問層

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

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

這塊的業務邏輯層就得有東西了。

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

SQLHelper和三層實現Age自增的區別是什么

二十、寫個枚舉

SQLHelper和三層實現Age自增的區別是什么

二十一、寫好MD5

SQLHelper和三層實現Age自增的區別是什么

二十二、寫好業務邏輯層

***我們寫界面層

SQLHelper和三層實現Age自增的區別是什么

二十三、寫好界面層

好,看下***的執行結果。

SQLHelper和三層實現Age自增的區別是什么

二十四、***顯示效果

接下來我們實現修改密碼的功能:

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

SQLHelper和三層實現Age自增的區別是什么

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

SQLHelper和三層實現Age自增的區別是什么

二十六、寫好第二個窗體

想想怎么實現這個功能?

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

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

  • UI → 表現層,數據的采集,與數據的展示。

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

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

Model

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

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

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

SQLHelper和三層實現Age自增的區別是什么

二十七、JS判斷

SQLHelper和三層實現Age自增的區別是什么

二十八、界面層邏輯

靜態類在表現層

SQLHelper和三層實現Age自增的區別是什么

二十九、把Id從業務邏輯層傳出來

SQLHelper和三層實現Age自增的區別是什么

三十、界面層代碼

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

SQLHelper和三層實現Age自增的區別是什么

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

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

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

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

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

SQLHelper和三層實現Age自增的區別是什么

三十二、數據訪問層代碼

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

SQLHelper和三層實現Age自增的區別是什么

三十三、數據訪問層-修改密碼代碼

好了數據訪問層中的代碼寫完了,現在我們開始寫業務邏輯層中的代碼。

SQLHelper和三層實現Age自增的區別是什么

三十四、業務邏輯層用到的枚舉

SQLHelper和三層實現Age自增的區別是什么

三十五、業務邏輯層中的代碼

SQLHelper和三層實現Age自增的區別是什么

三十六、三層架構圖

SQLHelper和三層實現Age自增的區別是什么

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

向AI問一下細節

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

AI

南宁市| 永州市| 娱乐| 无棣县| 扶绥县| 博罗县| 毕节市| 四会市| 全南县| 汾西县| 凤庆县| 西乌珠穆沁旗| 建水县| 金门县| 苗栗县| 龙南县| 温宿县| 桦甸市| 安福县| 丽江市| 合作市| 安平县| 辽源市| 通许县| 雷州市| 益阳市| 鄯善县| 马龙县| 临夏县| 白水县| 凤庆县| 双城市| 石景山区| 丰原市| 敖汉旗| 齐河县| 勃利县| 石林| 陇西县| 巴彦淖尔市| 大洼县|