版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本 科 生 課 程 設 計</p><p> 課 程 名 稱: VC++程序設計 </p><p> 題 目: 球員基本信息管理系統(tǒng) </p><p> 專 業(yè) 班 級: </p><p&g
2、t; 學 生 姓 名: </p><p> 學 生 學 號: </p><p> 日 期: </p><p> 指 導 教 師:
3、 </p><p> 指導教師簽字: </p><p> 年 月 日</p><p><b> 目 錄</b></p><p> 摘 要 ………………………………………………………………………………………..Ⅰ</p><p&
4、gt; Abstract …………………………………………………………………………………... ....Ⅰ</p><p> 1 課題背景………………….…………………….…………………………………….... ....1</p><p> 1.1系統(tǒng)背景 ………………………………………………………………………………...1</p><p> 1.2 設計此系
5、統(tǒng)的目的. ……………………………………..…………………………….. 1</p><p> 1.3 球員信息系統(tǒng)可行性分析……………………………………………………………….2</p><p> 2 本系統(tǒng)關鍵技術簡介………………………………………………………………………3</p><p> 2.1 VC++介紹 ………………………………………………..………
6、………………….…...3 </p><p> 2.2 ODBC介紹……………………………………………..………………………….….......3</p><p> 3 球員信息系統(tǒng)的實現(xiàn)與測試………………………………………………………………5</p><p> 3.1 登錄模塊和系統(tǒng)主界面設計…………………………..………………………….…....5 &l
7、t;/p><p> 3.2 系統(tǒng)功能的實現(xiàn)………………………………………..………………………….…....7</p><p> 4 部分模塊的詳細設計………………………………………………………………………9</p><p> 4.1登錄對話框的設計………………………….………………………………..….…..........9 </p><p
8、> 4.2登錄對話框的美化………………………………………..………………………….….12 </p><p> 5總 結 ……..…………………………………………………..…………………………....14 </p><p> 參考文獻 …….………………..………………………………..…………………………....15 </p><p> 致謝.....
9、…….………………..………………………………..………………………….... ....16</p><p> 附錄...............………...………………………………..………………………….... …... …..17</p><p><b> 摘 要</b></p><p> 足球作為世界第一運動,已經(jīng)吸引了越來越多
10、的人的關注與參與。為了提升球隊管理工作的整體水平,特編譯了這個球隊信息管理系統(tǒng)。該系統(tǒng)實現(xiàn)了隊員的基本情況,的信息系統(tǒng),將球隊管理工作各部分連成一個完整的數(shù)據(jù)整體。該系統(tǒng)是采用VC++6.0軟件開發(fā)的,采用了ODBC接口,具有可移植性和封裝的特色。文章首先簡要敘述了系統(tǒng)的開發(fā)背景及其開發(fā)目的,然后結合現(xiàn)代話的信息系統(tǒng)建設思想架構出信息系統(tǒng)模型,緊接著便是系統(tǒng)實施,最后是對整個系統(tǒng)作出評價。</p><p> 關
11、鍵詞:球隊管理;面向對象;信息系統(tǒng); Visual C++;Access;ODBC;</p><p><b> Abstract</b></p><p> As the world's first campaign,football has attracted more and more people's concern and partic
12、ipation. To upgrade the whole level of the football player management, I’ve given the translation of the football player management information system specifically. The system realizes the basic situation of the player’s
13、 normal information, Management players will be part of the company as a whole integrity of the data. The system is based on VC++6.0 software development using the ODBC interface, with p</p><p> Keywords: f
14、ootball player management; VC++6.0;ODBC; Information Systems;</p><p><b> 1 課題背景</b></p><p><b> 1.1系統(tǒng)背景</b></p><p> 足球作為世界第一運動,已經(jīng)吸引了原來越多的人的關注,參與。各種俱樂部的成立在很
15、大程度上促進了足球的發(fā)展,以及職業(yè)化,現(xiàn)在足球已經(jīng)成為一種產業(yè),而運動員是足球的核心,因此球隊中對運動員的科學化管理,已經(jīng)成為一種必需,科學化,人性化的管理可以增強他們的責任感,刺激他們的比賽熱情,減少優(yōu)秀運動員的流失,以及吸引頂尖球星的到來,對于一個俱樂部球探,需要一套科學的系統(tǒng)來記錄,分析統(tǒng)計球員的信息和狀態(tài),給予他們客觀的評價以向俱樂部老板匯報工作。球隊管理系統(tǒng)具有這些的功能,球員信息:它可以可以查看,修改,刪除球員的各種信息。通
16、過統(tǒng)計分析方法,結合球員的狀況和足球的規(guī)律性,發(fā)現(xiàn)問題,輔助球隊管理。盡管足球運動中變化和偶然性占有一定比重,但其內部的規(guī)律是不可否認的,我國的足球產業(yè)還不發(fā)達,這不是一朝一夕可以</p><p> 提高的,因此必須從科學化管理出發(fā),才能逐步提高俱樂部的比賽成績,以及運作,從而提高整個產業(yè)的發(fā)展。 </p><p> 要建立這個管理系統(tǒng),需要經(jīng)過從零開始的分析,了解現(xiàn)有的
17、工作流程,并將其人工操作事物流程用計算機來實現(xiàn),信息管理系統(tǒng)的設計本身就是一項負責的系統(tǒng)工程,要制定規(guī)劃,成立強有力的實施機構,加強對相關人員的培訓教育,制訂并執(zhí)行嚴格的管理制度,球隊管理的工作量大,而系統(tǒng)的可靠性,穩(wěn)定性,安全性都至關非常重要。</p><p> 1.2設計此系統(tǒng)的目的</p><p> 該系統(tǒng)要最終實現(xiàn)管理隊員從入隊到退隊期間的信息管理,包括球員的姓名,國籍,生日,
18、技術特點等綜合信息,并將球員工作管理各部門連成一個完整的數(shù)據(jù)整體,實現(xiàn)信息高度共享。</p><p> 建成一個完整統(tǒng)一、技術先進、高效穩(wěn)定、安全可靠的基于Internet/Intranet的球隊管理信息系統(tǒng)。建立一個集球隊信息自動化和信息化為一體的先進的電腦網(wǎng)絡系統(tǒng),在為管理工作有關部門提供優(yōu)質、高效的業(yè)務管理和事務處理的同時,采用安全可靠的現(xiàn)代化處理和控制技術,及時、準確、可靠地采集和傳輸信息,建立完備、可
19、靠的信息處理系統(tǒng)。對各部門實現(xiàn)統(tǒng)一的信息瀏覽、管理。</p><p> 借助于球隊管理信息系統(tǒng)的建設,促進管理人員素質的提高,通過管理人員的實際應用,促進球隊管理工作的水平和效率的提高;通過提供多層次的信息服務和先進實用的使用手段,滿足球隊內外內外對信息共享和利用的要求,并為各級領導提供有效的輔助決策服務。</p><p> 本系統(tǒng)作為球隊管理信息系統(tǒng)的一個資源網(wǎng)進行建設,將以球隊組織
20、網(wǎng)為基礎,實現(xiàn)信息資源共享。同時為球隊信息系統(tǒng)的建設建立初始框架。</p><p> 本應用系統(tǒng)基于球隊組織網(wǎng),實現(xiàn)高水平的信息資源共享和跨平臺的信息資源訪問,不僅要面向整個球隊不同部門的信息資源的共享,還要解決各部門已有的或將建立的信息系統(tǒng)的資源共享,而各部門信息系統(tǒng)和資源子系統(tǒng)的系統(tǒng)平臺不一,數(shù)據(jù)庫又不盡相同,要解決不同的資源子網(wǎng)的信息共享,提高信息資源共享的利用率,系統(tǒng)結構應具有跨平臺訪問不同數(shù)據(jù)源的機制
21、。系統(tǒng)應具有較好的可擴展性和包容性。系統(tǒng)的可擴展性應包括能接納已有的系統(tǒng)和在今后系統(tǒng)軟硬件擴展時,能有效地保護已有的投資。特別是在應用需求變化時(應用與系統(tǒng)的需求往往提不全或者經(jīng)常會變化),有一個較好的應用平臺,能容易地加以調整。系統(tǒng)易于擴充升級,既能滿足當前業(yè)務的需求,又為今后的擴充留有空間。</p><p> 應用系統(tǒng)的設計符合日常辦公運作的需求,功能完備實用,簡單易學,界面友好清晰,易于擴充。網(wǎng)絡結構簡單
22、明了,層次清楚,便于管理,易于擴充。在球員管理信息標準化、規(guī)范化的基礎上,對信息進行合理的布局。</p><p> 本系統(tǒng)的建設目標是否能實現(xiàn),系統(tǒng)整個投資能否發(fā)揮應有的效益,最終將取決于該系統(tǒng)是否可靠實用。為此,系統(tǒng)應采用成熟可靠的技術,應貫徹產品化的設計原則和實施方法。同時,系統(tǒng)的起點要高,而不是基于淘汰的技術,系統(tǒng)的建立應適應未來技術發(fā)展的趨勢。</p><p> 1.3球員信息
23、管理系統(tǒng)可行性分析</p><p> 對于一支球隊來說,他要管理球隊的球員信息,包括姓名,年齡,國籍,身高,體重,技術特點等。球隊要要贏得比賽球員起到了至關重要的作用,對于球隊的球探來說記住他們盯上的球員的基本信息非常關鍵。球探可見他們手機的信息方便快捷的傳達給球隊主教練以及俱樂部老板,供他們參考最終選擇哪個球員加盟球隊以壯大自己球隊的實力向各項賽事的冠軍發(fā)起強有力的沖擊。</p><p&g
24、t; 2 本系統(tǒng)關鍵技術簡介</p><p> 2.1 VC++介紹</p><p> VC基于C,C++語言,主要由是MFC組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強大,靈活,執(zhí)行效率高,幾乎可說VC在 Windows平臺無所不能。 最大缺點是開發(fā)效率不高。</p><p> VC適用范圍 1. VC主要是針對Wind
25、ows系統(tǒng),適合一些系統(tǒng)級的開發(fā),可以方便實現(xiàn)一些底層 的 調用。在VC里邊嵌入?yún)R編語言很簡單。</p><p> 2 .VC主要用在驅動程序開發(fā)</p><p> 3.VC執(zhí)行效率高,當對系統(tǒng)性能要求很高的時候,可用VC開發(fā)。</p><p> 4.VC主要適用于游戲開發(fā)</p><p> 5.VC多用于單片機,工業(yè)
26、控制等軟件開發(fā),如直接對I/O地址操作,就要用C++。</p><p> 6.VC適用開發(fā)高效,短小,輕量級的COM組件,DLL。比如WEB上的控件。 7.VC可以開發(fā)優(yōu)秀的基于通信的程序。</p><p> 8.VC可以開發(fā)高效靈活的文件操作程序。</p><p> 9.VC可以開發(fā)靈活高效的數(shù)據(jù)庫操作程序。</p><p>
27、10.VC是編CAD軟件的唯一選擇!?。“ˋUTOCAD,UG的二次開發(fā)。</p><p> 11.VC在多線程、網(wǎng)絡通信、分布應用方面,VC++有不可比擬的優(yōu)勢。</p><p> 2.2 ODBC介紹 </p><p> (1) 開放數(shù)據(jù)庫互聯(lián) </p><p> ODBC(Open Database Connectivity)
28、,即開放數(shù)據(jù)庫互聯(lián)。</p><p> ODBC基于SQL(Structured Query Language),并把它作為訪問數(shù)據(jù)庫的標準。這個接口提供了最大限度的相互可操作性:一個應用程序可以通過一組通用的代碼訪問不同的數(shù)據(jù)庫管理系統(tǒng)。一個軟件開發(fā)者開發(fā)的客戶/服務器應用程序不會被束定于某個特定的數(shù)據(jù)庫之上。ODBC可以為不同的數(shù)據(jù)庫提供相應的驅動程序。對于ASP程而言,ODBC數(shù)據(jù)源是ASP程序的ADO組
29、件和數(shù)據(jù)庫之間的接口。</p><p> (2)配置ODBC數(shù)據(jù)源 </p><p> 圖2.1 ODBC數(shù)據(jù)管理器 </p><p> 1. 用戶DSN:ODBC用戶數(shù)據(jù)源存貯了如何與指定數(shù)據(jù)庫提供者連接的信息。只對當前用戶可戶可見,而且只能用于當前機器上。這里的當前機器是只這個配置只對當前的機器有效,而不是說
30、只能只配置本機上的數(shù)據(jù)庫。它可以配置局域網(wǎng)中另一臺機器上的數(shù)據(jù)庫的。</p><p> 2. 系統(tǒng)DSN: ODBC系統(tǒng)數(shù)據(jù)源存貯了如何指定數(shù)據(jù)庫提供者連接的信息。系統(tǒng)數(shù)據(jù)源對當前機器上的所有用戶都是可見的,包括NT服務。也就是說在這里配置的數(shù)據(jù)源,只要是這臺機器的用戶都可以訪問?!?3. 文件DSN:ODBC文件數(shù)據(jù)源允許用戶連接數(shù)據(jù)提供者。文件DSN可以由安裝了相同驅動程序的用戶共享。這是界于用戶DSN和
31、系統(tǒng)DSN之間的一種共享情況?!?4. 驅動程序:這頁列出了本機上所有安裝的數(shù)據(jù)庫驅動程序。里面列舉了每個驅動程序的名稱,版本,提供商公司,驅動程序文件名,以及安裝日期?!?5. 跟蹤:ODBC跟蹤允許創(chuàng)建調用ODBC的日志,提供給技術人員查看。里面可設定日志的路徑和文件名。技術人員通過這里面的信息可以看到本機上所有的數(shù)據(jù)庫訪問的時間,用戶,以及出錯信息等情況。也可以通過這個輔助調試應用程序,可以啟動Visual Studio的分析
32、器,來進行ODBC的跟蹤。</p><p> 6. 連接池:連接池允許應用程序重用原來打開的的連接句柄,這樣可以節(jié)省到服務器的往返過程?!?7. 關于:最后這一頁列出了所有的ODBC的核心文件。</p><p> 3球員信息管理系統(tǒng)的實現(xiàn)與測試</p><p> 3.1登錄模塊和系統(tǒng)主界面設計</p><p> 當系統(tǒng)運行時,首先打
33、開登錄窗體,只有有權限的用戶才能進入系統(tǒng)。登錄成功后,將顯示系統(tǒng)主界面。</p><p><b> 登錄界面</b></p><p> 進入程序后,首先出現(xiàn)的是【用戶登陸】對話框,在【用戶名】文本框中輸入后按Tab鍵,程序將自動查詢用戶名并跳到【密碼】文本框中,輸入密碼后按Enter鍵即可進入系統(tǒng),登錄對話框如圖3.1所示。</p><p>
34、; 圖3.1用戶登錄對話框</p><p> 登錄成功后將顯示主界面主界面如圖3.2所示,在此界面可以選擇各種按鈕進行不同的操作。</p><p><b> 圖3.2主界面</b></p><p> 3.2 系統(tǒng)功能的實現(xiàn)</p><p><b> (1) 增加功能</b></p&g
35、t;<p> 單擊“增加“按鈕,進入增加記錄功能窗體,如圖3.3所示。在上邊的編輯框中,可以很清楚看到整個表中的記錄和主視圖一致,在編輯框中輸入完成了記錄后按確定按鈕,這樣剛才輸入的內容就同過m_pSet這個指針寫如了數(shù)據(jù)庫;按取消則推出剛才的操作。</p><p><b> 圖3.3增加界面</b></p><p><b> (2) 刪
36、除功能 </b></p><p> 完成機構“增加“功能后,進入主界面,按下刪除按鈕,則刪除當前顯示的記錄。這個窗體相對簡單,它實際上是管理各個記錄的刪除的,以便能即時更新舊的記錄,刪除舊的沒用的記錄。</p><p><b> (3) 修改功能</b></p><p> 對于有些寫錯了的記錄,我們往往需要在事后才能進行修改,
37、這個功能就為我們提供了很好的操作界面。它先把當前記錄的信息顯示在另外一個窗口里如圖 3.4,這樣能避免對記錄的誤操作。</p><p><b> 圖3.4修改界面</b></p><p> 4部分模塊的詳細設計</p><p> 4.1 登錄對話框的設計</p><p> 將本項目工作區(qū)窗口切換到Resource
38、View頁面插入一個對話框資源,打開屬性對話框,將其字體設置為“宋體,9號”,標題定為“請職業(yè)球探同志登陸”,ID設為IDD_DIALOG1</p><p> 如圖4.1,向對話框中添加兩個編輯框:“請輸入用戶名”(IDC_EDIT1)、“請輸入密碼”( IDC_EDIT_PWD)</p><p><b> 圖4.1登錄對話框</b></p><
39、;p> 雙擊對話框模板或按【Ctrl+W】快捷鍵為對話框資源建立類向導。為該對話框類取個名字:CDlg_login。下面的Base class以及Dialog ID不要隨便改動。然后點擊OK。這樣新的類CDlg_login就與本對話框建立起了聯(lián)系。</p><p> 如圖4.2左鍵雙擊IDC_EDIT1(或者單擊后,點擊右邊的add variables),為IDC_EDIT1增加一個對應在類中的名字:m
40、_login_name。其他地方不要改動。點擊’確定’。同樣也對IDC_EDIT_PWD也取一個名字:m_login_pwd。</p><p> 圖4.2 ”MFC ClassWizard”對話框</p><p> 點擊確定。建立好了登錄對話框以及其對應的類CDlg_login。在ClassView里面可以看到新加入 類CDlg_login。</p><p>
41、 這個時候如果編譯運行的話,該對話框并不會自動彈出來。點擊右邊的FileView,點擊source files,雙擊MainFrm.cpp。在右邊打開了該文件。找到CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct),即窗體框架創(chuàng)建函數(shù)。在該函數(shù)的后面(在return 0 ;的前面)加入語句:</p><p> CDlg_login dlg;//生成一
42、個登錄對話框對象</p><p> dlg.DoModal();//讓對話框對象以有模式形式顯示出來。</p><p> 在MainFrm.cpp文件的前面添加:#include "dlg_login.h"。</p><p> 在運行過程中,點擊OK后,主窗體會顯示出來,并沒有在用戶名以及密碼框中輸入。</p><p&g
43、t; 要求輸入正確的用戶名和密碼,主窗體才能顯示出來。</p><p> 增加一個成員函數(shù),點擊OK。</p><p> 在void CDlg_login::OnOK()函加入如下代碼:</p><p> void CDlg_login::OnOK() </p><p><b> {</b></p>
44、<p> // TODO: Add extra validation here</p><p> UpdateData();</p><p> m_login_name.TrimLeft();</p><p> if(m_login_name.IsEmpty())</p><p><b> {</b&g
45、t;</p><p> MessageBox("請輸入用戶名!");</p><p><b> return;</b></p><p><b> }</b></p><p> if(m_login_pwd.IsEmpty())</p><p>&l
46、t;b> {</b></p><p> MessageBox("請輸入密碼!");</p><p><b> return;</b></p><p><b> }</b></p><p> CDatabase database;</p>
47、<p> database.OpenEx( _T( "DSN=球員基本信息" ),CDatabase::noOdbcDialog);</p><p> CRecordset recset(&database);</p><p> CString mSqlStr;</p><p> mSqlStr= "SELEC
48、T * FROM 登錄對話框 WHERE username='";</p><p> mSqlStr = mSqlStr + m_login_name;</p><p> mSqlStr = mSqlStr + "' AND password='";</p><p> mSqlStr = mSqlStr +
49、 m_login_pwd;</p><p> mSqlStr = mSqlStr + "'";</p><p> if (!recset.Open(CRecordset::forwardOnly, mSqlStr, CRecordset::readOnly))</p><p><b> {</b></p&
50、gt;<p> AfxMessageBox("登陸界面表打開失??!");</p><p><b> return;</b></p><p><b> }</b></p><p> if (!recset.IsEOF())</p><p><b>
51、 {</b></p><p> // Open all function for user</p><p> AfxMessageBox("登錄成功");</p><p><b> }</b></p><p><b> else</b></p>
52、<p><b> {</b></p><p> AfxMessageBox("用戶名或密碼錯誤!");</p><p><b> return;</b></p><p><b> }</b></p><p> CDialog::OnO
53、K();</p><p><b> }</b></p><p> 在void CDlg_login:: OnCancel函加入如下代碼:</p><p> void CDlg_login::OnCancel() </p><p><b> {</b></p><p>
54、 // TODO: Add extra cleanup here</p><p> CDialog::OnCancel();</p><p><b> exit(0);</b></p><p><b> }</b></p><p> 此時運行輸入密碼的時候是明碼,不是星號顯示的。在登錄對話
55、框,右鍵點擊密碼文本框,點擊屬性,點擊style,選中password。</p><p> 4.2登錄對話框的美化</p><p> 向登錄對話框中加背景圖的過程,將本項目工作區(qū)窗口切換到ResourceView頁面插入一個位圖資源默認名為Bitmap1。在CDlg_login類中增加一個成員函數(shù)OnPaint在void CDlg_login:: OnPaint()函加入如下代碼:&l
56、t;/p><p> void CDlg_login::OnPaint() </p><p><b> {</b></p><p> CPaintDC dc(this); // device context for painting</p><p> // TODO: Add your message handler
57、code here</p><p> CRect rect; </p><p> GetClientRect(&rect); </p><p> CDC dcMem; </p><p> dcMem.CreateCompatibleDC(&dc); </p><p> CBit
58、map bmpBackground; </p><p> bmpBackground.LoadBitmap(IDB_BITMAP1); </p><p> //IDB_BITMAP是你自己的圖對應的ID </p><p> BITMAP bitmap; </p><p> bmpBackground.
59、GetBitmap(&bitmap); </p><p> CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); </p><p> dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, </p><p> bitm
60、ap.bmWidth,bitmap.bmHeight,SRCCOPY);</p><p> // Do not call CDialog::OnPaint() for painting messages</p><p><b> }</b></p><p> 運行結果如圖4.4所示</p><p> 圖4.4 美
61、化后的登錄對話框</p><p><b> 5 總結</b></p><p><b> 5.1 存在的不足</b></p><p> 由于設計者水平有限及時間等方面的原因,該系統(tǒng)的功能比較簡單,該界面的增加功能只能在的一個記錄下進行添加,此外使用查詢功能后瀏覽按鈕會失效因此只能通過查詢按鈕進行瀏覽球員信息。</
62、p><p> 5.2 設計過程總結</p><p> 我設計該管理系統(tǒng)花了很長時間,因為是初學,所以還有很多沒有做好的地方和沒有想到的地方。開始時我先是做了一個單文擋應用程序主要用來顯示球員的各種基本情況,這也是我設計的主界面,在界面上有五個功能按鈕分別是增加、修改、刪除、查詢結果。增加和修改都是另外彈出一個對話框來實現(xiàn)各自的功能;刪除就是刪除當前瀏覽界面上的記錄;查詢提供了按球員編號查詢
63、的方法,和按球員姓名查詢的方法。只要輸入球員編號或姓名就可以直接查詢了;后來在添加程序代碼的時候又遇到了好多麻煩,但在同學的幫助下我都順利的解決了。在這之中我知道我還有很多的不足之處和很多錯誤沒能想到,希望在以后的學習中能夠努力彌補自己的不足爭取在以后的課程設計中能夠有好的成績。</p><p><b> 參考文獻</b></p><p> [1] 鄭阿奇主編,丁
64、有和編著.《Visual C++教程》[M]. 北京: 機械工程出版社,2012</p><p> [2] 鄭莉,董淵,何江舟編著.《C++語言程序設計》(第四版)[M]. 北京:清華大學出版社,2010</p><p><b> 致 謝</b></p><p> 在這次VC++的課程設計中,曾遇到過不少問題,單靠我個人的努力,很難
65、按時完成該課程設計,在此,我衷心感謝我的老師和同學。李全彬老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我獲益非淺。另外,還要感謝學校領導、班主任、各位同學對我們的關懷、幫助,為我們提供了良好的設計環(huán)境以及各方面的支持。</p><p> 附錄 A 球員信息管理系統(tǒng)源程序代碼</p><p> ////////////////////////////////////////
66、///表單對話框資源模板//////////////////////////////////////</p><p> ///////////////////////////////////////////增加模塊代碼////////////////////////////////////////////////</p><p> void CEx_108326235View::OnR
67、ecAdd() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> CScoreDlg dlg;</p><p> if (dlg.DoModal()==IDOK)</p
68、><p><b> {</b></p><p> m_pSet->AddNew();</p><p> m_pSet->m_playername= dlg.m_strplayername;</p><p> m_pSet->m_playerno = dlg.m_strplayerno;
69、</p><p> m_pSet->m_nationality= dlg.m_strnationality;</p><p> m_pSet->m_birthday = dlg.m_strbirthday;</p><p> m_pSet->m_stature = dlg.m_istature;</p
70、><p> m_pSet->m_weight = dlg.m_iweight;</p><p> m_pSet->m_position = dlg.m_strposition;</p><p> m_pSet->m_club = dlg.m_strclub;</p><p> m_p
71、Set->m_information = dlg.m_strinformation;</p><p> m_pSet->Update();</p><p> m_pSet->Requery();</p><p><b> }</b></p><p><b> }</b>
72、;</p><p> //////////////////////////////////編輯代碼/////////////////////////////////////////</p><p> void CEx_108326235View::OnRecEdit() </p><p><b> {</b></p><
73、;p> // TODO: Add your control notification handler code here</p><p> CScoreDlg dlg;</p><p> dlg.m_strplayername= m_pSet->m_playername;</p><p> dlg.m_strplayerno= m_pS
74、et->m_playerno;</p><p> dlg.m_strnationality= m_pSet->m_nationality;</p><p> dlg.m_strbirthday =m_pSet->m_birthday;</p><p> dlg.m_istature= m_pSet->m_
75、stature;</p><p> dlg.m_iweight= m_pSet->m_weight;</p><p> dlg.m_strposition= m_pSet->m_position;</p><p> dlg.m_strclub= m_pSet->m_club;</p><p>
76、dlg.m_strinformation= m_pSet->m_information ;</p><p> if (dlg.DoModal()==IDOK)</p><p><b> {</b></p><p> m_pSet->Edit();</p><p> m_pSet->m_p
77、layername= dlg.m_strplayername;</p><p> m_pSet->m_playerno= dlg.m_strplayerno;</p><p> m_pSet->m_nationality= dlg.m_strnationality;</p><p> m_pSet->m_birthday= d
78、lg.m_strbirthday;</p><p> m_pSet->m_stature = dlg.m_istature;</p><p> m_pSet->m_weight= dlg.m_iweight;</p><p> m_pSet->m_position= dlg.m_strposition;</p>&
79、lt;p> m_pSet->m_club= dlg.m_strclub;</p><p> m_pSet->m_information = dlg.m_strinformation;</p><p> m_pSet->Update();</p><p> UpdateData(FALSE);</p><p
80、><b> }</b></p><p><b> }</b></p><p> ///////////////////////////////////////////刪除模塊代碼////////////////////////////////////////////////</p><p> void CEx
81、_108326235View::OnRecDel() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> CRecordsetStatus status;</p><p> m
82、_pSet->GetStatus(status);</p><p> m_pSet->Delete();</p><p> if (status.m_lCurrentRecord==0)</p><p> m_pSet->MoveNext();</p><p><b> else</b><
83、/p><p> m_pSet->MoveFirst();</p><p> UpdateData(FALSE);</p><p> ////////////////////////////////////按球員姓名查詢//////////////////////////////////////</p><p> void CEx_1
84、08326235View::OnButtonQuery1() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> UpdateData();</p><p> m_strQue
85、ry1.TrimLeft();</p><p> if (m_strQuery1.IsEmpty()) </p><p><b> {</b></p><p> MessageBox("要查詢的球員姓名不能為空!");return;</p><p><b> }</b>
86、</p><p> if (m_pSet->IsOpen())</p><p> m_pSet->Close();// 如果記錄集打開,則先關閉</p><p> m_pSet->m_strFilter.Format("playername='%s'",m_strQuery1);</p>
87、<p> // studentno是score表的字段名,用來指定查詢條件</p><p> m_pSet->m_strSort = "playerno";</p><p> // course是score表的字段名,用來按course字段從小到大排序</p><p> m_pSet->Open();// 打開
88、記錄集</p><p> if (!m_pSet->IsEOF())// 如果打開的記錄集有記錄</p><p> UpdateData(FALSE);// 自動更新表單中控件顯示的內容</p><p><b> else</b></p><p> MessageBox("沒有查到你要找的球
89、員記錄!");</p><p><b> }</b></p><p> /////////////////////////////////////////////////按球員編號查詢代碼//////////////////////////////////////////////////</p><p> void CEx_1
90、08326235View::OnButtonQuery() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> UpdateData();</p><p> m_strQuer
91、y.TrimLeft();</p><p> if (m_strQuery.IsEmpty()) </p><p><b> {</b></p><p> MessageBox("要查詢的編號不能為空!");return;</p><p><b> }</b></
92、p><p> if (m_pSet->IsOpen())</p><p> m_pSet->Close();// 如果記錄集打開,則先關閉</p><p> m_pSet->m_strFilter.Format("playerno='%s'",m_strQuery);</p><p>
93、; // studentno是score表的字段名,用來指定查詢條件</p><p> m_pSet->m_strSort = "playerno";</p><p> // course是score表的字段名,用來按course字段從小到大排序</p><p> m_pSet->Open();// 打開記錄集</
94、p><p> if (!m_pSet->IsEOF())// 如果打開的記錄集有記錄</p><p> UpdateData(FALSE);// 自動更新表單中控件顯示的內容</p><p><b> else</b></p><p> MessageBox("沒有查到你要找的編號記錄!&quo
95、t;);</p><p> /////////////////////////////插入背景圖代碼////////////////////////////////////////</p><p> void CEx_108326235View::OnPaint() </p><p><b> {</b></p><p
96、> CPaintDC dc(this); // device context for painting</p><p> // TODO: Add your message handler code here</p><p> CRect rect; </p><p> GetClientRect(&rect); </p>
97、<p> CDC dcMem; </p><p> dcMem.CreateCompatibleDC(&dc); </p><p> CBitmap bmpBackground; </p><p> bmpBackground.LoadBitmap(IDB_BITMAP3); </p><p> /
98、/IDB_BITMAP是你自己的圖對應的ID ,由于我剛剛加入的位圖資源 </p><p> BITMAP bitmap; </p><p> bmpBackground.GetBitmap(&bitmap); </p><p> CBitmap *pbmpOld=dcMem.SelectObject(&bmp
99、Background); </p><p> dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, </p><p> bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);</p><p> // Do not call CDialog::OnPaint() f
100、or painting messages</p><p> // Do not call CRecordView::OnPaint() for painting messages</p><p><b> }</b></p><p> ////////////////////////////////////編輯對話框主要代碼///////
101、////////////////////////////////////</p><p> void CScoreDlg::OnOK() </p><p><b> {</b></p><p> // TODO: Add extra validation here</p><p> UpdateData();&l
102、t;/p><p> m_strplayerno.TrimLeft();</p><p> m_strplayername.TrimLeft();</p><p> if(m_strplayerno.IsEmpty())</p><p> MessageBox("編號不能為空!");</p><p&g
103、t;<b> else </b></p><p> if(m_strplayername.IsEmpty())</p><p> MessageBox("姓名不能為空!");</p><p><b> else</b></p><p><b> {</b
104、></p><p> int nChoice=MessageBox("確定您的操作?","",MB_YESNO|MB_ICONQUESTION);</p><p> if(nChoice==IDYES)</p><p><b> {</b></p><p> CDia
105、log::OnOK();</p><p><b> }</b></p><p> if(nChoice==IDNO)</p><p><b> {</b></p><p> CDialog::OnCancel();</p><p><b> }</b
106、></p><p><b> } </b></p><p><b> }</b></p><p> void CScoreDlg::OnCancel() </p><p><b> {</b></p><p> // TODO
107、: Add extra cleanup here</p><p> CDialog::OnCancel();</p><p><b> }</b></p><p> //////////////////////////////////</p><p> //////////////////////////////
108、////登錄對話框主要代碼////////////////////////////////////////////////</p><p> #include "stdafx.h"</p><p> #include "Ex_球員信息管理108326235.h"</p><p> #include "Dlg_l
109、ogin.h"</p><p> #ifdef _DEBUG</p><p> #define new DEBUG_NEW</p><p> #undef THIS_FILE</p><p> static char THIS_FILE[] = __FILE__;</p><p><b>
110、 #endif</b></p><p> /////////////////////////////////////////////////////////////////////////////</p><p> // CDlg_login dialog</p><p> CDlg_login::CDlg_login(CWnd* pParent
111、/*=NULL*/)</p><p> : CDialog(CDlg_login::IDD, pParent)</p><p><b> {</b></p><p> //{{AFX_DATA_INIT(CDlg_login)</p><p> m_login_name = _T("");&l
112、t;/p><p> m_login_pwd = _T("");</p><p> //}}AFX_DATA_INIT</p><p><b> }</b></p><p> void CDlg_login::DoDataExchange(CDataExchange* pDX)</p>
113、<p><b> {</b></p><p> CDialog::DoDataExchange(pDX);</p><p> //{{AFX_DATA_MAP(CDlg_login)</p><p> DDX_Text(pDX, IDC_EDIT1, m_login_name);</p><p>
114、DDV_MaxChars(pDX, m_login_name, 20);</p><p> DDX_Text(pDX, IDC_EDIT_PWD, m_login_pwd);</p><p> DDV_MaxChars(pDX, m_login_pwd, 9);</p><p> //}}AFX_DATA_MAP</p><p><
115、;b> }</b></p><p> BEGIN_MESSAGE_MAP(CDlg_login, CDialog)</p><p> //{{AFX_MSG_MAP(CDlg_login)</p><p> ON_WM_PAINT()</p><p> //}}AFX_MSG_MAP</p><
116、p> END_MESSAGE_MAP()</p><p> /////////////////////////////////////////////////////////////////////////////</p><p> // CDlg_login message handlers</p><p> void CDlg_login::OnO
117、K() </p><p><b> {</b></p><p> // TODO: Add extra validation here</p><p> UpdateData();</p><p> m_login_name.TrimLeft();</p><p> if(m_login
118、_name.IsEmpty())</p><p><b> {</b></p><p> MessageBox("請輸入用戶名!");</p><p><b> return;</b></p><p><b> }</b></p>&l
119、t;p> if(m_login_pwd.IsEmpty())</p><p><b> {</b></p><p> MessageBox("請輸入密碼!");</p><p><b> return;</b></p><p><b> }</b&
120、gt;</p><p> CDatabase database;</p><p> database.OpenEx( _T( "DSN=球員基本信息" ),CDatabase::noOdbcDialog);</p><p> CRecordset recset(&database);</p><p> CS
121、tring mSqlStr;</p><p> mSqlStr= "SELECT * FROM 登錄對話框 WHERE username='";</p><p> mSqlStr = mSqlStr + m_login_name;</p><p> mSqlStr = mSqlStr + "' AND passwo
122、rd='";</p><p> mSqlStr = mSqlStr + m_login_pwd;</p><p> mSqlStr = mSqlStr + "'";</p><p> if (!recset.Open(CRecordset::forwardOnly, mSqlStr, CRecordset::rea
123、dOnly))</p><p><b> {</b></p><p> AfxMessageBox("登陸界面表打開失?。?quot;);</p><p><b> return;</b></p><p><b> }</b></p><p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vc++課程設計報告
- vc++課程設計-- 餐飲管理系統(tǒng)
- vc++課程設計報告--圖書館管理系統(tǒng)
- vc++軟件課程設計報告
- vc++課程設計報告-小型超市商品管理系統(tǒng)
- vc++課程設計報告----對抗游戲
- vc++課程設計報告-小型超市商品管理系統(tǒng)
- vc++課程設計報告--對抗游戲
- vc++課設課程設計報告
- vc++課程設計--工資管理
- vc++課程設計--工資管理
- vc++火車票信息管理系統(tǒng)課程設計報告
- VC++課程設計--工資管理.doc
- [vc++畢設]c++課程設計報告(人事管理系統(tǒng))
- 同學錄系統(tǒng)vc++課程設計
- vc++課程設計實驗報告---對抗游戲
- vc++課程設計報告---橫向繪制余弦曲線
- vc++俄羅斯方塊課程設計報告
- vc++庫函數(shù)課程設計
- vc++網(wǎng)絡聊天軟件課程設計
評論
0/150
提交評論