freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

商品批發(fā)信息管理系統(tǒng)畢業(yè)論文設計-資料下載頁

2025-02-26 05:41本頁面
  

【正文】 三 個層次 中,系統(tǒng)主要功能和業(yè)務邏輯都在業(yè)務邏輯層進行處理。 所謂三層體系結構,是在 客戶端 與數據庫之間加入了一個 “中間層 ”,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有 B/S 應用才是三層體系結構,三層是指邏輯上的三層,即把這三個層放置到一臺機器上。三層體系的 應用程序 將業(yè)務規(guī)則、數據訪問、合法性校驗等工作放到了中間層進行表示層 數據訪問層 業(yè)務邏輯層 數據庫 用戶界面包 業(yè)務邏輯包 數據訪問包 蘇州大學本科生畢業(yè)論文(設計) 27 處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過 COM/DCOM 通訊與中間層建立連接,再經由中間層與數據庫進行交互。 三層架構的優(yōu)缺點: 優(yōu)點 開發(fā)人員可以只關注整個結構中的其中某一層; 可以很容易的用新的實現來替換原有層次的實現; 可以降低層與層之間的依賴; 有利于標準化; 利于各層邏輯的復用。 結構更加的明確 在后期維護的時候,極大地降低了維護成本和 維護時間 缺點 降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結構,很多業(yè)務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。 有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業(yè)務邏輯層和數據訪問層中都增加相應的代碼。 增加了開發(fā)成本。 方法一: 本系統(tǒng)開發(fā)所用的數據庫鏈接方式與一般的方式不同。 原本在 VS2021 中有直接鏈接到數據庫的功能 即點擊工具欄上的 數據,添加新的數 據源即可,如圖( 所示): 圖( ) 蘇州大學本科生畢業(yè)論文(設計) 28 連接完成后即可成功與數據庫交互。 方法二: 本系統(tǒng)與數據庫的交互并沒有使用 VS2021 自帶的功能,而是在系統(tǒng) UI層中添加了一個 文件,用這個文件實現數據 庫的鏈接,具體的實現代碼如下: 需要特別說明的是這段代碼中, Data Source為數據庫名稱即本地。 Integrated Security=True 的意思是集成驗證,也就是說使用 Windows驗證的方式去連接到數據庫服務器。這樣方式的好處是不需要在連接字符串中編寫用戶名和密碼,從一定程度上說提高了安全性。 這段代碼需要在 DAL層實現,也就是數據庫交互層,其中 ConnectionStrings[“ GWM” ]為數據庫的參數名,并不是實際名稱。與 name=“ GWM”相對應。 ?xml version= encoding=utf8 ? configuration connectionStrings add name=GWM connectionString=Data Source=.。Initial Catalog=GoodsWholesaleManagement。Integrated Security=True providerName= / /connectionStrings /configuration public static string strn = [GWM].ConnectionString。 蘇州大學本科生畢業(yè)論文(設計) 29 功能模塊的 內部 實現 登錄功能模塊 功能模塊的界面如圖( )所示: 圖 ( ) 登錄功能所用控件及其功能簡介: TextBox:用于用戶名和密碼等文本的輸入。 Lable:用戶提示文本的顯示。 Button:登錄和取消按鈕,觸發(fā)功能的實現。 GroupBox:容器,裝載控件。 RadioButton:單項選擇按鈕,進行角色選擇。 登錄功能部分代碼: private string pattern = @^[09]*$。//正則表達式只能輸入數字 private void btLogin_Click(object sender, EventArgs e) { if ( != || != ) { Match match = (, pattern)。//匹配正則表達式 if () { int rbRole。 蘇州大學本科生畢業(yè)論文(設計) 30 if ( = true) { rbRole = 0。 } else { rbRole=1。 } LoginBLL loginbll = new LoginBLL()。 Result result。 result=(,())。 switch(result) { case : (輸入用戶名密碼有誤! )。 break。 case : (登錄成功! )。 break。 } } else { (用戶名必須為純數字! )。 } } else { (用戶名或密碼不能為空! )。 } } private void btNo_Click(object sender, EventArgs e) { Close()。 } 蘇州大學本科生畢業(yè)論文(設計) 31 商品信息管理模塊 功能模塊的界面如圖( )所示: 圖 ( ) 商品信息管理模塊 功能所用控件及其功能簡介: TextBox:用于用戶名和密碼等文本的輸入。 Lable:用戶提示文本的顯示。 Button:登錄和取消按鈕,觸發(fā)功能的實現。 GroupBox:容器,裝載控件。 商品信息管理模塊 功能 部分代碼: public class GoodInfoManageDAL { public DataTable listGoodInfoManageDAL(int pagesize, int currentpage) { ()。 string sql = Select top + pagesize + ,GoodName,GoodClassName,GoodPrice,GoodProPrice,GoodAddre,GoodProDate,GoodExDate,ProCompanyName,TelNumber,ProCompanyAddre, from GoodInformation + 蘇州大學本科生畢業(yè)論文(設計) 32 inner join GoodClass on = + inner join ProCompanyInfo on = where not in (Select top + pagesize * (currentpage 1) + GoodID from GoodInformation order by ) order by 。 DataTable dt = (sql)。 return dt。 } } public static DataTable GetDataTable(string sql) { OpenConnection(strn)。 SqlCommand cmd = new SqlCommand(sql, n)。 = 。//存儲過程以文本格式輸出 DataTable dt = new DataTable()。//實例化一個 DataTable SqlDataAdapter da = new SqlDataAdapter()。 = cmd。 (dt)。 CloseConnection()。 return dt。 } static string sql = select Count(GoodID) from GoodInformation 。 int Count = ((sql))。 int PageSize = 5。//定義一頁顯示五行 int CurrentPage = 1。 GoodInfoManageBLL gimb = new GoodInfoManageBLL()。 private void GoodInfoManageForm_Load(object sender, EventArgs e) { SelectGoodAllInfo()。 InItemclassName()。 InItemproCompanyName()。 } public void SelectGoodAllInfo() { = ()。 = (PageSize,CurrentPage)。 } 蘇州大學本科生畢業(yè)論文(設計) 33 private void btMostUp_Click(object sender, EventArgs e) {
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1