版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要</b></p><p> 通過對洛陽、新鄉(xiāng)等站點進行實地考察以及利用網絡等多種渠道,了解到我國在鐵路信息服務方面仍存在一些不盡如人意的地方:一些小型站點的信息查詢仍然只是采用傳統(tǒng)的人工咨詢方式,而一些較大的站點雖然已經率先采用觸摸屏式查詢系統(tǒng),但也只是基于簡單的終始站查詢,一定程度上很難滿足旅客獲取多方面信息的需要和對優(yōu)良服務的需求?;诖耍瑓㈤啲F有的一
2、些查詢系統(tǒng),利用PowerBuilder作為開發(fā)工具,開發(fā)此智能鐵路查詢系統(tǒng)。</p><p> 該系統(tǒng)最基本的功能就是向旅客提供充足的信息和快捷方便的查詢;系統(tǒng)可將所有乘車供選方案顯示或打印出來供旅客參考;管理員可以依據訪問日志統(tǒng)計訪問流量,從而為本部門制定各項服務措施提供依據;此外系統(tǒng)還為旅客提供精品列車查詢、臨時列車查詢、車票代售點查詢和各地賓館酒店查詢等多項綜合服務信息。其核心之處在于其查詢功能:查詢方
3、式多樣化,旅客可以輸入車次、終點站、任意兩個站點等條件來查詢所需要的時刻和票價信息;對于有特殊要求的旅客,可以進行定點中轉查詢,方便旅客的出行。</p><p> 關鍵詞:智能查詢;PowerBuilder;定點中轉;鐵路信息 </p><p><b> Abstract</b></p><p> Through on-the-spo
4、t investigation into station of luoyang and xinxiang as well as the utilization of internet and other various channels,I have learned that there are still some points that cannot entirely fill customers’ desire in the
5、railroad information service aspect:some small stations still use traditional way of manual consultation,while other bigger station have taken lead to use the touching type of inquiry system,but only contain some simple
6、 inquiry of station from beginning to en</p><p> The most basical function of this system is to provide sufficient information and timely convenient inquiry for passengers .It may display or print all the
7、alternative routes for passengers to make a decision . The manager may calculate the current visit capacity according to the dairy visit statistics. In addition the system also provides the inquiry of the temporary train
8、, the high-quality train, hotels of various places , ticket retail and such comprehensive service information.The core funct</p><p> Keywords:Automatic inquiry ; PowerBuilder ; Fixed-point transfer ; Inform
9、ation of railway </p><p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 系統(tǒng)開發(fā)背景1</p><p> 1.2 系統(tǒng)研究目的和意義1</p><p> 1.3 可行性分析2
10、</p><p> 第2章 系統(tǒng)需求分析3</p><p> 2.1 用戶功能需求分析3</p><p> 2.2 系統(tǒng)性能要求3</p><p> 2.3 業(yè)務流程分析4</p><p> 第3章 系統(tǒng)總體設計5</p><p> 3.1 系統(tǒng)功能模塊分析5</p
11、><p> 3.1.1 系統(tǒng)管理5</p><p> 3.1.2 用戶管理5</p><p> 3.1.3 信息的添加和刪除5</p><p> 3.1.4 信息的瀏覽和查詢5</p><p> 3.1.5 數據管理6</p><p> 3.1.6 綜合服務6</p&g
12、t;<p> 3.2 實體聯系圖6</p><p> 3.3 系統(tǒng)總體設計9</p><p> 第4章 系統(tǒng)詳細設計11</p><p> 4.1 開發(fā)工具簡介11</p><p> 4.2 數據庫設計11</p><p> 4.3 用戶界面設計14</p><
13、p> 4.3.1 登錄界面14</p><p> 4.3.2 系統(tǒng)管理界面17</p><p> 4.3.3 用戶管理界面27</p><p> 4.3.4 信息更新界面33</p><p> 4.3.5 信息瀏覽查詢界面39</p><p> 第5章 軟件測試和調試51</p>
14、;<p> 5.1 白盒測試法51</p><p> 5.2 黑盒測試法52</p><p> 第6章 工作總結和展望54</p><p><b> 參考文獻55</b></p><p><b> 致 謝56</b></p><p><
15、;b> 第1章 緒論</b></p><p> 1.1 系統(tǒng)開發(fā)背景 </p><p> 隨著國民經濟的高速發(fā)展和人民生活水平的快速提高,人們對鐵路客運無論在運輸能力上還是在服務質量上都提出了更高的要求,高速公路和民航的迅速發(fā)展,也給鐵路提出了越來越嚴峻的挑戰(zhàn)。發(fā)達國家鐵路大量采用先進的查詢系統(tǒng)、客票預訂系統(tǒng)、自動售、檢票系統(tǒng)等,以先進的服務設施、舒適的旅行環(huán)境來吸
16、引客流。我國鐵路也開始利用電子計算機及網絡,實現旅客運營管理現代化。而我國鐵路現代化的一個重要內容就是向旅客提供實時和可靠的列車信息。</p><p> 通過對洛陽、新鄉(xiāng)等站點進行實地考察以及利用網絡等多種渠道,了解到我國在鐵路信息查詢方面的一些現狀:諸如洛陽等一些小型站點的信息查詢仍然只是采用人工咨詢的方式,這種傳統(tǒng)的,手工的,低效率的勞動密集型工作方式,顯然已經不能適應現代化的公共交通事業(yè)面向新世紀的需要;
17、另外諸如北京、上海等一些較大的站點雖然已經率先采用觸摸屏式查詢系統(tǒng),但也只是基于簡單的終始站查詢,一定程度上很難滿足旅客獲取多方面信息的需要和對優(yōu)良服務的需求。例如:當兩站間沒有直達的列車或者旅客有特殊需求,需要在其它站進行中轉時,系統(tǒng)并不能應旅客的需求,提供最佳的中轉方案等。</p><p> 1.2 系統(tǒng)研究目的和意義</p><p> 基于我國在鐵路信息查詢方面的諸多現狀,經過多
18、方面的調查,參閱現有的一些查詢系統(tǒng),如全國鐵路交通查詢系統(tǒng)、中國鐵路網、悠悠旅行網等,開發(fā)此智能鐵路查詢系統(tǒng),其主要目的是滿足旅客獲取多方面信息的需要和對優(yōu)良服務的需求。 </p><p> 該系統(tǒng)最基本的功能就是向旅客提供充足的信息和快捷方便的查詢;系統(tǒng)可將所有乘車供選方案顯示或打印出來供旅客參考,旅客可以按照需要來選擇自己的乘車路線;管理員可以依據訪問日志統(tǒng)計訪問流量,從而更好的為站點的各項管理提供數據參考
19、;此外系統(tǒng)還為旅客提供多項綜合服務信息等。其核心之處在于其查詢功能,查詢方式多樣化,旅客可以輸入車次、終點站、任意兩個站點等來查詢所需要的時刻和票價信息;對于有特殊要求的旅客,可以進行定點中轉查詢,方便旅客的出行。</p><p> 系統(tǒng)具有傳統(tǒng)的人工服務方式所不可比擬的優(yōu)越性:智能鐵路查詢系統(tǒng)可以及時地將數據信息完全共享給用戶,用戶無需再通過電話查詢或者當面咨詢便可得到想要的具體信息,這樣一方面提高了企業(yè)的服
20、務質量,為旅客出行提供更加人性化的服務,另一方面也豐富了鐵路服務的內容,提高了鐵路的競爭力;同時優(yōu)化了客流,使運輸設備得以充分利用。</p><p><b> 1.3 可行性分析</b></p><p> 該系統(tǒng)采用 PowerBuilder8.0軟件作為工具進行系統(tǒng)開發(fā)。PowerBuilder8.0工具軟件以其功能強大、使用靈活的數據窗口,其面向對象的開發(fā)能力
21、等優(yōu)勢在數據庫應用程序開發(fā)領域占據了領先地位,這些特點為開發(fā)功能全面的應用程序創(chuàng)造了良好的條件。因此利用它作為開發(fā)鐵路查詢系統(tǒng)的工具是完全可行的。</p><p> 此智能鐵路查詢系統(tǒng),查詢方便,簡單易讀,修改簡便,非常方便顧客查詢。且對管理人員不需要太多的專業(yè)培訓。主要可以應用于候車室、售票口等地,便于旅客就地獲取所需的信息。因此具有良好的操作可行性。</p><p> 第2章 系統(tǒng)
22、需求分析</p><p> 2.1 用戶功能需求分析</p><p> 設計數據庫系統(tǒng)時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求,本人通過對洛陽、新鄉(xiāng)等站點進行詳細的實地考察以及利用網絡等多種渠道,了解了我國在鐵路信息查詢方面的一些現狀以及旅客、鐵路部門工作人員對智能鐵路查詢系統(tǒng)的各種要求,調研結果如下:</p><p> 普通用戶
23、(一般旅客):不僅可以依據車次、站點等進行簡單的時刻、票價等信息的查詢,還要能夠應旅客的特殊需求(定點中轉、最優(yōu)路徑中轉等),進行智能中轉查詢;并隨著人們出外旅游的日益普遍化,一些相關的服務信息也應能夠及時提供給旅客,如:各地賓館酒店查詢、車票代售點查詢、臨時列車和精品線路列車查詢;報表的生成及打印等;</p><p> 一般管理員(業(yè)務操作員):擁有普通用戶的所有權限,可以對所有數據信息進行添加、刪除和修改;
24、對系統(tǒng)數據庫備份和還原;查看系統(tǒng)日志文件和統(tǒng)計訪問流量,從而為鐵路部門制定相關政策提供數據參考等;</p><p> 特級管理員(部門管理者):擁有一般管理員的所有權限;可以對管理員進行管理等;可以使用系統(tǒng)的一切功能;并且應該能夠保證系統(tǒng)的安全性;</p><p> 系統(tǒng)雖然是基于洛陽站進行開發(fā)的,但是應具有廣泛的適用性。利用系統(tǒng)自身的初始化功能,輸入新的數據信息,便可以構建成一個簡單
25、實用的外地鐵路查詢系統(tǒng)。</p><p> 2.2 系統(tǒng)性能要求</p><p><b> 1.安全性</b></p><p> 該系統(tǒng)的安全性主要是防止他人非法進入系統(tǒng),從而保證了數據的安全性,數據存儲的完整性和數據的可靠性。設置三種不同的身份進行登錄,即特級管理員、一般管理員和普通用戶;系統(tǒng)也設立了數據備份和恢復機制,從一定程度上可以
26、降低數據的損壞程度。</p><p><b> 2.高效性</b></p><p> 使用此智能鐵路查詢系統(tǒng)既可以方便旅客及時獲取所需的信息,又可以大大減輕鐵路工作人員的負擔,與人工服務相比效率得到了很大的提高。 </p><p><b> 3.便捷性</b></p><p> 本系統(tǒng)的界面
27、友好,操作方便,能夠達到所見即所得的效果,方便用戶的使用。</p><p> 2.3 業(yè)務流程分析</p><p> 依據系統(tǒng)的需求分析,得到系統(tǒng)的流程圖如圖2-1所示:</p><p> 圖2-1 系統(tǒng)流程圖</p><p> 第3章 系統(tǒng)總體設計</p><p> 系統(tǒng)總體設計需完成的主要功能是概念和邏輯
28、結構設計,其中概念結構設計是將需求分析得到的用戶需求抽象為概念模型的過程,它是整個數據庫設計的關鍵。邏輯結構設計的任務是把概念結構設計階段設計好的基本E-R圖轉化為與選用DBMS產品所支持的數據模型所符合的邏輯結構。</p><p> 3.1 系統(tǒng)功能模塊分析</p><p> 本系統(tǒng)主要分為系統(tǒng)管理、用戶管理、信息的添加和刪除、信息的瀏覽和查詢、數據管理、綜合服務等六個功能模塊。&l
29、t;/p><p> 3.1.1 系統(tǒng)管理</p><p> 可以記錄訪問日志,統(tǒng)計訪問流量,統(tǒng)計旅客去向,還可對系統(tǒng)數據庫進行初始化操作等。</p><p> 3.1.2 用戶管理</p><p> 對用戶信息進行管理維護;添加和刪除管理員,更改用戶密碼和權限;登錄時判斷用戶密碼是否正確,每個用戶按照不同的級別享有不同的權限。</p
30、><p> 3.1.3 信息的添加和刪除</p><p> 列車信息的更新包括:</p><p><b> 車次添加和刪除;</b></p><p> 時刻信息的添加、刪除和修改;</p><p> 票價信息的添加、刪除和修改。</p><p> 服務信息的更新包括
31、:</p><p> 1.臨時列車和精品列車的添加、刪除和修改;</p><p> 2.車票代售點和各地賓館酒店信息的添加、刪除和修改等。</p><p> 3.1.4 信息的瀏覽和查詢</p><p><b> 信息瀏覽包括:</b></p><p> 車次、票價、時刻信息瀏覽;<
32、;/p><p> 精品列車、臨時列車信息瀏覽;</p><p> 車票代售點和賓館信息瀏覽等。</p><p><b> 信息查詢包括:</b></p><p> 1.基于車次的查詢;</p><p> 2.基于站點的查詢;</p><p> 3.基于兩站間的查詢;
33、</p><p><b> 4.智能中轉查詢;</b></p><p><b> 5.車票查詢;</b></p><p> 6.服務信息查詢等。</p><p> 3.1.5 數據管理</p><p> 進行數據庫的備份、還原,票價的計算等。</p>
34、<p> 3.1.6 綜合服務</p><p> 包括系統(tǒng)查詢說明,溫馨提示,洛陽售票網點,各地旅游點推薦,各地賓館酒店信息提供等。</p><p><b> 3.2 實體聯系圖</b></p><p> 通過需求分析,現定義以下每個實體的屬性:</p><p> 操作員表(編號,用戶名,密碼,用戶類
35、型)</p><p> 車次表(車次,起始站,終點站,車輛類型,行駛里程)</p><p> 站點表(車次,站序,站號,站名)</p><p> 時刻表(站號,到站時間,出站時間,里程)</p><p> 票價表(站號,硬座,軟座,硬臥上,硬臥中,硬臥下,軟臥上,軟臥下)</p><p> 精品列車表(車次,
36、起始站,發(fā)車時間,終點站,到站時間)</p><p> 臨時列車表(車次,起始站,發(fā)車時間,終點站,到站時間)</p><p> 營業(yè)網點表(序號,車站,代售點名稱,代售點地址,聯系電話)</p><p> 賓館表(編號,酒店,城市,訂位電話,星級)</p><p> 日志表(用戶名,登錄日期)</p><p>
37、; 1. 操作員信息實體屬性圖如圖3-1所示:</p><p> 圖3-1 操作員信息實體屬性圖</p><p> 2. 車次信息實體屬性圖如圖3-2所示:</p><p> 圖3-2 車次信息實體屬性圖</p><p> 3. 站點信息實體屬性圖如圖3-3所示:</p><p> 圖3-3 站點信息實體屬
38、性圖</p><p> 4. 時刻信息實體屬性圖如圖3-4所示:</p><p> 圖3-4 時刻信息實體屬性圖</p><p> 5. 票價信息實體屬性圖如圖3-5所示:</p><p> 圖3-5 票價信息實體屬性圖</p><p> 6. 精品、臨時列車信息實體屬性圖如圖3-6所示:</p>
39、<p> 圖3-6 精品、臨時列車信息實體屬性圖</p><p> 7. 營業(yè)網點信息實體屬性圖如圖3-7所示:</p><p> 圖3-7 營業(yè)點信息實體屬性圖</p><p> 8. 賓館信息實體屬性圖如圖3-8所示:</p><p> 圖3-8 賓館信息實體屬性圖</p><p> 實體
40、之間關系的E-R圖如圖3-9所示:</p><p> 圖3-9 總的實體聯系圖</p><p> 3.3 系統(tǒng)總體設計</p><p> 系統(tǒng)設置了三種身份的登錄,包括特級管理員、一般管理員和普通用戶。其中特級管理員和一般管理員需依靠用戶名和密碼登錄,普通用戶則可以進行匿名登錄。以特級管理員的身份登錄,可以操作數據庫中所有的功能模塊,而以其他身份登錄只是在此功
41、能上對一些模塊給予限制而已。如圖3-10就是系統(tǒng)的總體結構框圖:</p><p> 圖3-10 系統(tǒng)總體結構框圖</p><p> 第4章 系統(tǒng)詳細設計</p><p> 4.1 開發(fā)工具簡介</p><p> PowerBuilder工具軟件是Sybase公司開發(fā)的分布式數據庫應用程序的前端開發(fā)工具,使用它可以以一種所見即所得的方式
42、快速開發(fā)一些實用的數據庫信息系統(tǒng)管理軟件。PowerBuilder8.0功能強大、操作簡單、容易上手,它可以與幾乎所有主流數據庫進行連接,使用它可以大大提高企事業(yè)單位的辦事效率和節(jié)約成本。同時,它具有描述多個數據庫連接與檢索的能力,能從大多數流行的RDBMS中存取數據,目前正在成為客戶/服務器開發(fā)的標準。相對于其他客戶/服務器開發(fā)環(huán)境,PowerBuilder8.0具有工作更快、成本更低、質量更高、功能更強等特點。自問世以來,深受廣大數
43、據庫開發(fā)人員的青睞。</p><p> PowerBuilder作為目前較為流行的一種開發(fā)工具,其獨到之處在于其數據窗口功能??梢哉f,數據窗口是PowerBuilder的核心,它不但是連接服務器和客戶端的橋梁,同時也是用來瀏覽、查詢、插入和刪除數據等操作的舞臺;在對數據庫的開發(fā)過程中,無論是錄入、查詢、統(tǒng)計還是報表等,都離不開數據窗口。通過數據窗口,不但可以對每個數據庫中的表執(zhí)行檢索、查詢、插入、刪除及更新等操
44、作,還可以為數據指定輸入、輸出格式及顯示風格。此外,還可以在其中添加對象、統(tǒng)計圖以及生成報表等。數據窗口由數據窗口控件和數據窗口對象兩部分組成。數據窗口控件是窗口中的一個控件,是數據窗口對象與窗口連接的界面。數據窗口對象是應用程序與數據庫的接口,是一個用于檢索、操作和顯示關系數據庫或其它數據源中的對象,其功能非常豐富。</p><p> 使用數據窗口可以很容易的對數據庫中數據進行操作,而無需編寫復雜的SQL語句
45、,當使用數據窗口時,只需要讓數據窗口知道做什么而不需要對數據庫進行直接操作,大大降低了用戶的使用難度,這也是數據窗口的特點和優(yōu)點。</p><p><b> 4.2 數據庫設計</b></p><p> 數據庫在一個信息管理系統(tǒng)中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數
46、據的完整和一致。</p><p> 本系統(tǒng)主要用到了以下11張表:</p><p><b> 1. 操作員信息:</b></p><p><b> 表4-1 操作員表</b></p><p><b> 2. 車次信息:</b></p><p>&
47、lt;b> 表4-2 車次表</b></p><p><b> 3. 票價信息:</b></p><p><b> 表4-3 票價表</b></p><p><b> 4. 時刻信息:</b></p><p><b> 表4-4 時刻表&l
48、t;/b></p><p><b> 5. 站點信息:</b></p><p><b> 表4-5 站點表</b></p><p> 6. 精品列車信息:</p><p><b> 表4-6 精品列車</b></p><p> 7. 臨時
49、列車信息:</p><p><b> 表4-7 臨時列車</b></p><p><b> 8. 營業(yè)網信息:</b></p><p> 表4-8 營業(yè)網點表</p><p> 9. 各主要城市賓館酒店信息: </p><p><b> 表4-9 賓館表&
50、lt;/b></p><p> 10. 日志信息: </p><p><b> 表4-10 日志表</b></p><p> 11. 旅客去向統(tǒng)計: </p><p> 表4-11 旅客去向表</p><p> 4.3 用戶界面設計</p><p> 4.
51、3.1 登錄界面</p><p><b> 1. 系統(tǒng)主界面</b></p><p> 圖4-1 系統(tǒng)主界面</p><p> index界面中open事件代碼如下</p><p> /*…………………………………權限設置………………………………………</p><p> 特級管理員擁有最
52、高權限,可以使用系統(tǒng)內的所有功能;而一般管理員和普通用戶登錄時,操作受到相應的限制,即部分菜單項呈灰色顯示。</p><p> ………………………………………………………………………………………*/</p><p> choose case leixing</p><p> case "一般管理員"</p><p>
53、 mainmenu.m_用戶管理.m_權限修改.enabled=false</p><p> mainmenu.m_用戶管理.m_管理員信息.enabled=false</p><p> mainmenu.m_用戶管理.m_鎖定管理員.enabled=false</p><p> mainmenu.m_數據管理.m_系統(tǒng)初始化.enabled=false&l
54、t;/p><p><b> case ""</b></p><p> mainmenu.m_系統(tǒng)設置.m_訪問流量.enabled=false</p><p> mainmenu.m_系統(tǒng)設置.m_查看日志文件.enabled=false</p><p> mainmenu.m_系統(tǒng)設置.m_旅客
55、去向統(tǒng)計.enabled=false</p><p> mainmenu.m_數據管理.m_數據備份.enabled=false</p><p> mainmenu.m_數據管理.m_數據恢復.enabled=false</p><p> mainmenu.m_數據管理.m_系統(tǒng)初始化.enabled=false</p><p> m
56、ainmenu.m_信息維護.enabled=false</p><p> mainmenu.m_用戶管理.enabled=false</p><p> end choose</p><p><b> 2. 登錄界面</b></p><p><b> 圖4-2 登錄界面</b></p&
57、gt;<p> /*…………………………………………………………………………………………………</p><p> 管理員可以通過用戶名和密碼進行登錄,一般用戶可直接進行匿名登錄,</p><p> 登錄時系統(tǒng)會自動記錄登錄的用戶和登錄時間,便于進行訪問流量統(tǒng)計</p><p> ………………………………………………………………………………………
58、…………*/</p><p> open事件代碼如下:</p><p> // Profile Traindatabase</p><p> SQLCA.DBMS = "ODBC"</p><p> SQLCA.AutoCommit = False</p><p> SQLCA.DBPar
59、m = "Connectstring='DSN=traindatabase'"</p><p><b> connect;</b></p><p> st_6.text="當前系統(tǒng)時間為:"+string(year(today()))+'年'&</p><p>
60、 +string(month(today()))+'月'&</p><p> +string(day(today()))+'日'&</p><p> +string(hour(now()))+'點'&</p><p> +string(minute(now()))+'分'
61、&</p><p> +string(second(now()))+'秒'</p><p> st_7.text="(如果系統(tǒng)時間有誤,請修改系統(tǒng)時間后再進入)"</p><p> “登錄”按鈕clicked事件代碼如下:</p><p> //檢索用戶名和密碼記錄</p>&
62、lt;p> select 操作員表.用戶名,操作員表.密碼,操作員表.用戶類型</p><p> into :username,:pass_word,:leixing from 操作員表</p><p> where 操作員表.用戶名=:sle_1.text;</p><p> //判斷用戶輸入的用戶名是否正確</p><p&
63、gt; if num<2 then</p><p> if username="" or pass_word="" then</p><p><b> num=num+1</b></p><p> messagebox("錯誤!","請輸入用戶名和密碼,或者選擇
64、匿名登錄")</p><p> sle_1.text=""</p><p> sle_2.text=""</p><p> sle_1.setfocus()</p><p><b> else </b></p><p> if usern
65、ame=sle_1.text and pass_word=sle_2.text then</p><p> if leixing="特級管理員" then</p><p> messagebox("登錄!","你是特級管理員,你有權修改所有數據")</p><p><b> else&l
66、t;/b></p><p> messagebox("登錄!","你是一般管理員,你有權修改部分數據")</p><p><b> end if</b></p><p> /*……………………………………………………………………………………………將用戶登錄時使用的用戶名和獲取的系統(tǒng)時間寫入日志
67、文件,從而為統(tǒng)計系統(tǒng)的訪問流量提供依據</p><p> ……………………………………………………………………………………………*/</p><p><b> insert </b></p><p> into 日志表(用戶名,登錄日期)</p><p> values(:sle_1.text,:sle_3.te
68、xt);</p><p> open(index)</p><p> close(parent) </p><p><b> else</b></p><p><b> num=num+1</b></p><p> messagebox("錯誤!&q
69、uot;,"用戶名或密碼不正確,你還有"+string(3-num)+"次機會",exclamation!,ok!,2)</p><p> sle_1.text=""</p><p> sle_2.text=""</p><p> sle_1.setfocus()</p>
70、;<p><b> end if</b></p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("警告","你沒有權進入該系統(tǒng)",exclamation!,ok!
71、,2)</p><p> close(parent)</p><p><b> end if</b></p><p> “匿名登錄”按鈕clicked事件代碼如下:</p><p> messagebox("提示","你可以匿名登錄,但僅能瀏覽部分數據")</p>
72、;<p> /*…………………………………………………………………………………………………</p><p> 將用戶登錄時使用的用戶名和獲取的系統(tǒng)時間寫入日志文件,從而為統(tǒng)計系統(tǒng)的</p><p> 訪問流量提供依據;匿名登錄時記錄的用戶名為“匿名”</p><p> …………………………………………………………………………………………………*
73、/</p><p><b> insert </b></p><p> into 日志表(用戶名,登錄日期)</p><p> values('匿名',:sle_3.text);</p><p> open(index)</p><p> close(parent)<
74、;/p><p> 4.3.2 系統(tǒng)管理界面</p><p><b> 1. 查看訪問日志</b></p><p> “確定”按鈕clicked事件代碼如下:</p><p> /*………………………………………………………………………………………………</p><p> 可以統(tǒng)計某個用戶登錄
75、系統(tǒng)的所有時間;也可對某天登錄系統(tǒng)的所有人員進行統(tǒng)計;</p><p> ………………………………………………………………………………………………*/</p><p> if rb_1.checked=true then</p><p> dw_1.setfilter("用戶名='"+ddlb_1.text+"'&
76、quot;)</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數據</p><p><b> end if</b></p><p> if rb_2.checked=true then</p><p> dw_1.set
77、filter("登錄日期 like"+"'%"+sle_1.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數據</p><p><b> end if</b></p&
78、gt;<p><b> 圖4-3 日志文件</b></p><p> “流量統(tǒng)計”按鈕clicked事件代碼如下:</p><p> open(fangwenliul)</p><p><b> 2. 訪問流量統(tǒng)計</b></p><p> “瀏覽”按鈕clicked事件代碼
79、如下:</p><p> if rb_1.checked=true then</p><p> dw_1.setfilter("登錄日期 like"+"'%"+ddlb_1.text+'年'+ddlb_2.text+'月'+ddlb_3.text+"%'")</p>
80、<p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數據</p><p><b> end if</b></p><p> if rb_2.checked=true then</p><p> dw_1.setfilter("登錄日期
81、 like"+"'%"+ddlb_4.text+'年'+ddlb_5.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數據</p><p><b> end if</b>
82、;</p><p> if rb_3.checked=true then</p><p> dw_1.setfilter("登錄日期 like"+"'%"+ddlb_6.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p&
83、gt; dw_1.retrieve()//檢索數據</p><p><b> end if</b></p><p> 圖4-4 訪問流量統(tǒng)計</p><p> “流量統(tǒng)計“按鈕clicked事件代碼如下:</p><p> /*……………………………………………………………………………………</p>
84、<p> 可以對系統(tǒng)某天、某月、某年的訪問流量進行統(tǒng)計,從而為鐵路部門提供相應的</p><p><b> 數據參考。</b></p><p> ……………………………………………………………………………………*/</p><p><b> int sum</b></p><p&g
85、t; sum=dw_1.rowcount()</p><p> sle_1.text=string(sum)</p><p> “rb_1”中clicked事件代碼如下:</p><p> if rb_1.checked=true then</p><p> ddlb_1.enabled=true </p><p
86、> ddlb_2.enabled=true</p><p> ddlb_3.enabled=true </p><p> ddlb_4.enabled=false</p><p> ddlb_5.enabled=false</p><p> ddlb_6.enabled=false</p><p>&l
87、t;b> end if</b></p><p> “rb_2”中clicked事件代碼如下:</p><p> if rb_2.checked=true then</p><p> ddlb_4.enabled=true </p><p> ddlb_5.enabled=true</p><p&
88、gt; ddlb_3.enabled=false </p><p> ddlb_1.enabled=false</p><p> ddlb_2.enabled=false</p><p> ddlb_6.enabled=false</p><p><b> end if</b></p><p
89、> “rb_3”中clicked事件代碼如下:</p><p> if rb_3.checked=true then</p><p> ddlb_4.enabled=false</p><p> ddlb_5.enabled=false</p><p> ddlb_3.enabled=false </p><
90、;p> ddlb_1.enabled=false</p><p> ddlb_2.enabled=false</p><p> ddlb_6.enabled=true</p><p><b> end if</b></p><p><b> 3. 旅客去向統(tǒng)計</b></p&g
91、t;<p> /*……………………………………………………………………………………………</p><p> 將用戶每次登錄系統(tǒng)進行查詢時輸入的起始站和終點站寫入數據表,便于統(tǒng)計所用; </p><p> ……………………………………………………………………………………………*/</p><p> “確定”按鈕clicked事件代碼如下:<
92、/p><p> dw_1.setfilter("終點站='"+ddlb_1.text+"'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數據</p><p> 圖4-5 旅客去向統(tǒng)計界面</p>
93、<p> “統(tǒng)計”按鈕clicked事件代碼如下:</p><p> sle_1.text=string(dw_1.rowcount())</p><p> “清空”按鈕clicked事件代碼如下:</p><p> int row1,value1,value2</p><p> value1=messagebox(&q
94、uot;系統(tǒng)提示!","你確定要刪除嗎?這一操作將會刪除該表中所有記錄",question!,yesno!)</p><p> if value1=1 then</p><p> select count(*) into :row1 from 旅客去向表;</p><p> if row1 >0 then</p>
95、<p> value2=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value2=1 then</p><p> delete from 旅客去向表;</p><p> messagebox("系統(tǒng)提示!",&
96、quot;信息已經清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!", "表中已經無信息!")</p><p><b> e
97、nd if </b></p><p><b> end if</b></p><p><b> 4. 數據備份</b></p><p> 4-6 數據備份界面</p><p> Timer事件代碼如下:</p><p><b> i++<
98、/b></p><p> hpb_1.position=i</p><p> st_4.text="已完成"+string(i)+"%"</p><p> if i=100 then </p><p><b> timer(0)</b></p><
99、p> st_4.text="已完成100%"</p><p> messagebox("提示信息","數據備份完畢!")</p><p> close(g_ssbf)</p><p><b> end if</b></p><p> “備份”按鈕
100、clicked事件代碼如下:</p><p> disconnect using sqlca;</p><p> //string a,b</p><p><b> int m</b></p><p> if sle_1.text="" then</p><p> m
101、essagebox("未指定源數據庫!","您未指定源數據庫!")</p><p> elseif sle_2.text="" then</p><p> messagebox("未指定數據庫備份文件!","您未指定數據庫備份文件!")</p><p><b
102、> else </b></p><p> m=filecopy(sle_1.text,sle_2.text,false) </p><p> if m=1 then</p><p> timer(0.06)</p><p> elseif m=-1 then</p><p> messag
103、ebox("備份失敗!","不能打開源文件")</p><p><b> else </b></p><p> messagebox("備份失敗!","不能寫入目標文件")</p><p><b> end if</b></p&
104、gt;<p><b> end if</b></p><p> 第一個“瀏覽”按鈕clicked事件代碼如下:</p><p> disconnect using sqlca;</p><p> string txtname, named</p><p> string defext = &quo
105、t;db"</p><p> string Filter = "data Files (*.*), *.*"</p><p> GetFileOpenName("databases (*.*)", txtname, named, defext, filter)</p><p> sle_1.text=txtna
106、me</p><p> 第二個“瀏覽”按鈕clicked事件代碼如下:</p><p> messagebox("提示!","備份時應注明文件的擴展名!")</p><p> string txtname, named</p><p> string defext = "*"
107、</p><p> string Filter = "data Files (*.*), *.*"</p><p> GetfilesaveName("Open datafile", txtname, named, defext, filter)</p><p> sle_2.text=txtname</p>
108、<p><b> 5. 數據恢復</b></p><p> 圖4-7 數據恢復界面</p><p> “搜索”按鈕代碼同“數據備份”中“瀏覽”按鈕代碼;</p><p> “恢復”按鈕代碼如下:</p><p> disconnect using sqlca;</p><p&g
109、t; //string a,b</p><p><b> int m</b></p><p> if sle_1.text="" then</p><p> messagebox("信息提示!","您未指定源數據庫!")</p><p> elseif
110、 sle_2.text="" then</p><p> messagebox("信息提示!","您未指定目標文件!")</p><p><b> else </b></p><p> m=filecopy(sle_1.text,sle_2.text,false) </p&
111、gt;<p> if m=1 then</p><p> timer(0.06)</p><p> elseif m=-1 then</p><p> messagebox("恢復失敗!","不能打開源文件")</p><p><b> else </b>
112、;</p><p> messagebox("恢復失敗!","不能寫入目標文件")</p><p><b> end if</b></p><p><b> end if</b></p><p><b> 6. 系統(tǒng)初始化</b>
113、</p><p> 圖4-8 系統(tǒng)初始化界面</p><p> /*…………………………………………………………………………………………………</p><p> 利用系統(tǒng)自身的初始化功能,可以將所有數據信息清空,輸入新的數據信息,就可以很快構建成一個簡單實用的本地鐵路查詢系統(tǒng),應用前景廣泛。</p><p> ………………………………
114、…………………………………………………………………*/</p><p> “確定“按鈕clicked事件代碼如下:</p><p><b> long row</b></p><p><b> int value</b></p><p> choose case ddlb_1.text<
115、;/p><p><b> case ""</b></p><p> messagebox("系統(tǒng)提示!","請選擇你要初始化的表!")</p><p> case "時刻表"</p><p> select count(*) into :
116、row from 時刻表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete fro
117、m 時刻表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox(
118、"系統(tǒng)提示!",ddlb_1.text + "已經無信息!")</p><p><b> end if </b></p><p> case "票價表"</p><p> select count(*) into :row from 票價表;</p><p&g
119、t; if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 票價表;</p><p> me
120、ssagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text +
121、 "已無信息!")</p><p> end if </p><p> case "站點表"</p><p> select count(*) into :row from 站點表;</p><p> if row >0 then</p><p> valu
122、e=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 站點表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息
123、已經清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b>
124、 end if </b></p><p> case "車次表"</p><p> select count(*) into :row from 車次表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!",&
125、quot;你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 車次表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經清除!")</p><p>
126、;<b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if</b></p>&l
127、t;p> case "操作員表"</p><p> select count(*) into :row from 操作員表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,ye
128、sno!)</p><p> if value=1 then</p><p> delete from 操作員表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經清除!")</p><p><b> end if</b><
129、;/p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if </b></p><p> case "臨時列車表"
130、;</p><p> select count(*) into :row from 臨時列車;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> i
131、f value=1 then</p><p> delete from 臨時列車;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經清除!")</p><p><b> end if</b></p><p><b>
132、else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if </b></p><p> case "精品列車表"</p><p> selec
133、t count(*) into :row from 精品列車;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管網查詢系統(tǒng)畢業(yè)設計
- 畢業(yè)設計--公交系統(tǒng)查詢
- 畢業(yè)設計----成績查詢系統(tǒng)
- 畢業(yè)設計--公交查詢系統(tǒng)
- 公交查詢系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---- 公交在線查詢系統(tǒng)
- 畢業(yè)設計論文 公交查詢系統(tǒng)設計
- 城市公交查詢系統(tǒng)畢業(yè)設計
- 醫(yī)院門診查詢系統(tǒng)畢業(yè)設計
- 智能稱重系統(tǒng)設計【畢業(yè)設計】
- 公交路線查詢系統(tǒng)畢業(yè)設計論文
- 智能小車系統(tǒng)設計畢業(yè)設計
- 畢業(yè)設計論文-公交車查詢系統(tǒng)
- 畢業(yè)設計--公交查詢系統(tǒng)的設計與實現
- 智能家居系統(tǒng)畢業(yè)設計
- 智能樓宇系統(tǒng)的畢業(yè)設計
- 礦燈智能管理系統(tǒng)畢業(yè)設計
- 智能家居系統(tǒng)畢業(yè)設計
- 畢業(yè)設計 樓宇智能監(jiān)控系統(tǒng)設計
- 家居智能安保系統(tǒng)設計畢業(yè)設計
評論
0/150
提交評論