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

正文內容

公交車管理系統(tǒng)的實現(xiàn)與設計—免費計算機畢業(yè)設計論文(編輯修改稿)

2024-12-12 08:10 本頁面
 

【文章內容簡介】 Time nvarchar 50 是 否 起始時間 EndTime nvarchar 50 是 否 中止時間 StratPlace nvarchar 50 是 否 起點 Remark nvarchar 50 是 否 備注 CostTime nvarchar 50 是 否 用時 InputTime datetime 8 是 否 輸入時間 存儲過程 在該公交車管理系統(tǒng) 的在數(shù)據(jù)的查詢、添加和刪除等操作上主要采用了存儲過 程。存儲過程是編譯好了的 SQL 語句。它類似于函數(shù)的使用,可以直接 通過參數(shù)調用存儲過程 ,所以效率 比較 高。 存儲過程是由一組為了完成特定功能的 SQL 語句集,經(jīng)過編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務器中,用戶通過指定存儲過程的名字并給出參數(shù) (如果該存儲過程帶有參數(shù) )來執(zhí)行它 [2]。 存儲過程的 能力大大增強了 SQL 語言的功能和靈活性。 (1)允許標準組件式編程。在存儲過程被創(chuàng)建以后,可以在程序中被多次調用,而不必重新編寫該存儲過程的 SQL 語句。 (2)實現(xiàn)較快的執(zhí)行速度。因為存儲過程是預編譯的,在首次運行前, 查詢優(yōu)化器 對其進行分析 、優(yōu)化 ,并給出了 最終被存在系統(tǒng)中的執(zhí)行計劃 [2]。 (3)減少網(wǎng)絡流量。在調用存儲過程時,網(wǎng)絡中傳送的只是該調用語句,而不是多條 SQL 語句,從而大大減少了網(wǎng)絡流量。 第 8 頁 共 20 頁 (4)作為一種安全機制來 充分 利用。系統(tǒng)管理員通過對執(zhí)行某一存儲過程的權限進行限制,從而 能夠實現(xiàn)對相應的數(shù)據(jù)訪問權限制,避免非授權用戶對數(shù)據(jù)的訪問,保證數(shù)據(jù)安全 [2]。 在創(chuàng)建存儲過程時,需要確定存儲過程的三個組成部分: 。 ,包括調用其他存儲過程的語句。 ,以指明調用是成功還是失敗。 下面給出在 該 系統(tǒng)中使用到的部分存儲過程: 實現(xiàn)對滿足 ID 號是 CarLineID 的汽車線路數(shù)據(jù)的刪除操作。 create proc prc_deleteCarLine @CarLineID int as delete T_Car_Line where ID=@CarLineID if @@rowcount0 return 0 else return 1 GO 實現(xiàn)查詢所有汽車信息的存儲過程。 create proc spr_carall as select ID ,CarNum as 車牌號 ,CarColor as 顏色 ,SitNum as 座位數(shù) ,CarType as 類型,AirCondi as 是否空調車 ,Company as 車品牌 ,Remark as 備 注 from t_car GO 6 詳細設計 根據(jù)已有的需求分析和總體設計,在此基礎上進行系統(tǒng)的詳細設計和實現(xiàn)。為此,建立了一個 C.NET 項目。 登錄模塊 輸入:用戶名和密碼。 處理: (1)用戶登錄窗體啟動。 (2)輸入用戶名和密碼。 第 9 頁 共 20 頁 (3)檢索數(shù)據(jù)庫中數(shù)據(jù),是否有相應的用戶名和密碼。 (4)如果用戶名和密碼為空,或者錯誤,進行提示。 (5)如果輸入的用戶名和密碼正確,則允許該用戶進入系統(tǒng)。 (6)進入主控制臺。 輸出:主控制臺。 用戶登錄模塊的窗體設計,如圖 4 所示。 private void button1_Click(object sender, e) { DataAccess myAcc=new DataAccess()。 if(((), ())==1) { =false。 Main newMain=new Main(())。 ()。 } else if(((),) == 0) (沒有該用戶 !)。 else { (登 錄 失敗 )。 } } 圖 4 用戶登錄窗體 第 10 頁 共 20 頁 private void button1_Click()鼠標事件用于 實現(xiàn)在輸入用戶名和密碼后,進入系統(tǒng)主控制界面的方法。 DataAccess 類 是自定義的用于實現(xiàn)數(shù)據(jù)庫訪問的類。該方法中判斷語句里調用了該類所聲明的對象 myAcc 的方法 userlogin(),該方法的具體實現(xiàn)代碼如下所示: public int userlogin(string username,string userpass) { Database myDB=new Database()。 SqlParameter[] para={ (@username,50,username), (@userPass,50,userpass) }。 return (spr_uerlogin,para)。 } 該段代碼展示了上文中所提到的存儲過程的具體使用。 主操作界面模塊 主控制平臺的窗體設計,如圖 5 所示。 從界面上直觀的向用戶表明了在該系統(tǒng)下可以進行的一系列操作,包括新用戶的注冊,車輛信息的管理,司機信息的管理,線路信息的管理和車輛線路分配圖 5 主控制臺界面 第 11 頁 共 20 頁 的管理。當用戶選擇相應的功能進行操作時,觸發(fā)該按鈕事件,則可以進入相應的功能界面進行相應的操作。 系統(tǒng)用戶注冊模塊 添加用戶子模塊負責系統(tǒng)的安全性,在該模塊種只能增加新用戶而不能修改、刪除用戶,這樣是為了加強系統(tǒng)的安全性,保證了系統(tǒng)的惡意操作或誤刪除等情況出現(xiàn)。 (1)添加新用戶功能的實現(xiàn),并且設置用戶的初始密碼。 (2)功能模塊實現(xiàn)的界面效果如圖 6 所示。 //用戶名檢測機制,保證用戶名的唯一性。 private void button2_Click(object sender, e) { if(()==) { (用戶名不能為空 )。 } else if(checkuser()==1) (該用戶名不存在,可以注冊! )。 else { (該用戶名存在,請重新錄入新的用戶名! )。 } 圖 6 添加用戶子模塊窗體效果 第 12 頁 共 20 頁 } 將新用戶的信息寫入數(shù)據(jù)庫。通過自定義對象 myAccc 訪問數(shù)據(jù)庫,主要是由該對象調用存儲過程來實現(xiàn)。 private void button1_Click(object sender, e) { //checkuser()是自定義的方法,實現(xiàn)對用戶名的檢查判斷。 if(checkuser()==0) { (該用戶名存在,請重新錄入新的用戶名! )。 return 。 } 自定義的 regcheck()方法,根據(jù)該方法返回的值對不同的情況進行處理。 if(regcheck()==1) { DataAccess myAcc=new DataAccess()。 int li_check=((), (), (), (), () )。 if(li_check==1) { (注冊成功 )。 } } } 車輛信息管理模塊 該模塊實現(xiàn)對車輛信息如、車牌號、顏色、座位數(shù)、是否無人售票和車輛品牌信息的錄入和刪除操作。該界面窗體效果如圖 7 所示。 第 13 頁 共 20 頁 該段代碼在用戶點擊“所有”按時,觸發(fā)一個事件,通過調用 allcarinfo()方法來返回數(shù)據(jù)庫中的數(shù)據(jù), 然后使用 dataGrid 控件將數(shù)據(jù)顯示出來。 private void button2_Click(object sender, e) { DataAccess myAcc = new DataAccess()。 DataSet mySet = new DataSet()。 mySet=()。 = [0]。 } 該 段代碼實現(xiàn)用戶增加車輛信息后完成保存功能的實現(xiàn)。其中針對某些可能出錯的地方做出了人性化的處理,以便用戶更正和做出相應的處理。 司機信息管理模塊 通過該窗體,輸入司機姓名、身份證、 編號和駕駛編號等等司機的個人資料,實現(xiàn)添加司機信息的功能 ,該功能模塊窗體的效果如圖 8 所示 。 圖 7 車輛信息管理窗體效果 第 14 頁 共 20 頁 該事件實現(xiàn)將合法的司機信息寫入數(shù)據(jù)庫。同樣通過自定義類的對象來訪問數(shù)據(jù)庫,并通過調用存儲過程實現(xiàn)完成操作。 private void button1_Click(object sender, e) { if(AddDirverscheck()==1) { DataAccess myAcc=new DataAccess()。 int li_check= ((), (), (), (), (), (), () )。 if(li_check==1) { string ls_D=。 (操作成功 )。 int li_counts=。 for(int i=0。ili_counts。i++) { if([i].GetType().ToString()==) [i].Text=。 } } } } 圖 8 司機信息添加模塊 第 15 頁 共 20 頁 線路信息管理 模塊 ,主要輸入的信息包 括線路編號、線路名稱、發(fā)車時間和收車時間等 ,具體的窗體效果見下頁圖 9 所示。 CheckReg()是一個用于實現(xiàn)檢查用戶注冊信息的私有方法,該方法通過嵌入SQL 語句來檢索數(shù)據(jù)庫信息,以核對用戶信息的有效性。 private int CheckReg() { DataSet mySet=new DataSet()。 string ls_query= select * from t_lineInfo where LineName=39。+ ()+39。 or LineCode=39。+ ()+39。 Database myDB=new Database()。 mySet=(ls_query)。 if([0].==0) return 0。 else return 1。 } 車輛分配線路管理模塊 圖 9 線路維護界面 第 16 頁 共 20 頁 公交車最終 要與固定的某條線路相匹配,把具體的每一輛車分配到設 置好的線路上。這樣,汽車,司機,線路才能完成有機的聯(lián)系,形成一個整體。對于管理者來說,能夠通過該系統(tǒng)所提供的功能從宏觀上把握車輛的運行情況 , 如圖10 所示。 鼠標單擊“確定”事件時,將進行的操作。首先根據(jù)整型變量 li_LineID 和li_CarID 的值來判斷是否選擇了車輛或者某條線路;若沒有,則彈出一消息窗口,給出提示信息。 private void button1_Click(object sender, e) { if(li_LineID==0 || li_CarID==0 ){ (車輛或者線路沒有選擇,請選擇! )。 return。 } DataAccess myAcc=new DataAccess()。 if((li_CarID)==0){ (該汽車已經(jīng)分配線路 )。 } else{ int li_flag=0。 圖 10 車輛分配線路管理窗體效果 第 17 頁 共 20 頁 if(==true) li_flag=1。 else li_flag=0。 if((li_CarID,li_LineID,li_flag)0) (保存成功 !)。 } } 7 系統(tǒng)維護和改進 運行維護 經(jīng)過測試,該系統(tǒng)運行穩(wěn)定,在使用和維護中應該注意以下幾個問題: (1)定期備份數(shù)據(jù)庫,以免丟失數(shù)據(jù)。 (2)定期清理數(shù)據(jù)庫中的無效數(shù)據(jù),以提高運行效率。 (3)對軟件及運行環(huán)境進行日常維護。 系統(tǒng)改進和提高 本系統(tǒng)在信息表描述上,以及其 它各個地方還有不完備的地方,通用性不強,另外對于用戶權限上的設置沒有實現(xiàn)更具體的功能實施,沒有實現(xiàn)查詢資料導出的處理。下一部的工作將完善本系統(tǒng),在各個界面上進一步添加所需要的字段。在熟悉系統(tǒng)模塊的設計后,可以根據(jù)實際需求的變化,擴充系統(tǒng)的功能。 結 論 本文
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1