平面設計公司業務管理系統_第1頁
平面設計公司業務管理系統_第2頁
平面設計公司業務管理系統_第3頁
平面設計公司業務管理系統_第4頁
平面設計公司業務管理系統_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫系統原理課程設計報告-平面設計公司業務管理系統姓姓 名:名: 學學 號:號: 指導教師:指導教師: 起始時間:起始時間: 截止時間:截止時間: 目錄概述概述 .2第一章第一章需求分析需求分析.31.1 信息要求.3第二章第二章結構設計結構設計.42.1 概念結構設計.42.2 邏輯結構設計.6第三章第三章主要模塊設計及代碼主要模塊設計及代碼 .73.1 數據庫連接模塊.73.2 認證登錄模塊.93.3 查詢顯示模塊.93.4 添加,修改,刪除模塊.12第四章第四章總結總結.14第五章第五章參考文獻參考文獻 .15 概述 編寫目的編寫目的 本報告作為軟件使用的重要指南,可以方便用戶使用。同

2、時,也是一份重要的技術文檔,方便開發人員繼續完善各項功能,更新軟件。為了更好地管理平面設計公司的各項工作,撰寫此文檔。項目背景項目背景訂單管理是每所公司或工廠必須面對的工作,大量的訂單管理給企業帶來了沉重的負擔。傳統人手方式管理文件檔案,已經無法滿足當前業務量的正常需求。這種管理方式存在許多缺點:效率低,保密性差,另外隨著進貨數量的增加,這必然增加了訂單管理者的工作量和勞動強度。同時,將產生大量的文件和數據,這給訂單信息的查找,更新和維護都帶來了不少困難。管理機制已經不能適應時代發展的需求,其管理方法將浪費人力物力。隨著科技的不斷提高,計算機科學與技術日漸成熟,這種傳統的手工管理模式必然被以計

3、算機為物質基礎的信息管理方式所取代。軟件定義軟件定義圖形化界面:人性化的界面,方便了員工的使用,對操作員技術要求不高。數據存取:系統地保存數據,可以加快數據處理,提高工作量。可以同時進行多人對數據的操作,保證數據存取不出錯。開發環境開發環境在 Windows XP SP3 操作系統下,使用 Visual C+進行開發。數據存取使用 SQL Server 2000 平臺。第一章 需求分析1.1 信息要求通過軟件,可以查看,添加,保存,修改,刪除各種業務信息。如登錄賬戶的信息,員工的信息,客戶的信息,訂單信息,送貨單信息,歷史單信息。1.2 處理要求軟件要靈活實現各種管理功能間的切換,減少麻煩的操

4、作。對于數據的修改,保證不會出錯,確保數據的正確性。在必要的地方,給予一定的提示,以防止誤操作導致的數據異常。圖 1.1 功能模塊圖1.3 安全性與完整性要求登錄安全:采用用戶名,密碼方式登錄系統。不同職工具有的使用權限不同,管理員擁有最高權限。其他員工根據職務需要規定所需權限。完整性要求:對于一些必須的信息,不能留空值。如編號,名稱,日期等信息第二章 結構設計2.1概念結構設計各實體 E-R 圖:圖 2.2賬戶ID職工編號登錄賬戶用戶名密碼員工職工編號員工姓名性別月薪職位稿件稿件編號長度寬度規格色數客戶名稱輸出機型頁數單價小計稿件名稱圖 2.1圖 2.3圖 2.4圖 2.5圖 2.6客戶客戶

5、名稱公司地址聯系人郵箱傳真聯系人電話客戶編號聯系業務員訂單訂單編號業務員客戶名設計員下單日期送貨員歷史單送貨單編號編號送貨單編號訂單編號送貨日期2.2 邏輯結構設計圖 2.7 實體聯系圖圖 2.7 數據關系表賬戶職工歷史單客戶訂單送貨單稿件擁有決定制定聯系生成生成第三章 主要模塊設計及代碼3.1數據庫連接模塊為連接模塊獨自建立一個類,方便每次訪問數據庫時可以調用。類命名為 ADOConn。采用 ADO 技術實現程序與數據庫的連接。用#import 語句來引用支持 ADO 的組件類型庫(*.tlb),其中類型庫可以作為可執行程序(DLL、EXE 等)的一部分被定位在其自身程序中的附屬資源里,如:

6、被定位在msado15.dll 的附屬資源中,只需要直接用#import 引用它既可。直接在 Stdafx.h 文件中加入下面語句來實現: #import c:programfilescommonfilessystemadomsado15.dll no_namespace rename (EOF, adoEOF) /實際上兩行代碼是在同一行顯示,由于排版原因,分行顯示/以下為 ADOConn 類里重要成員函數的代碼:/函數名稱:ADOConn/功能:初始化 COM 環境 /void C ADOConn:ADOConn():CoInitialize(NULL); trypConn.CreateI

7、nstance(ADODB.Connection); / 創建 Connection 對象/設置字符連接字符串,必須是 BSTR 型或者_bstr_t 類型_bstr_t strConnect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=DsnCompany;Data Source=BEN-PC;/連接數據庫的代碼語句pConn-Open(strConnect,adConnectUnspecified);catch(_com_error e

8、) /捕捉異常信息AfxMessageBox(e.ErrorMessage();/名稱:OpenRecordset/功能:打開記錄集/_RecordsetPtr& CDataSource:OpenRecordset(CString sql)ASSERT(!sql.IsEmpty();/判斷是否為空集trypRs.CreateInstance(ADODB.Recordset); / 創建 Recordset 對象pRs-Open(_bstr_t(sql),_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);cat

9、ch(_com_error e)AfxMessageBox(e.ErrorMessage();return pRs;void CADOConn:FreeData()/釋放空間if(pConn)pConn-Close();pRs.Release();pConn.Release();CoUninitialize();3.2 認證登錄模塊void CGraphicDsnDlg:OnOK() /確定按鈕事件/ TODO: Add extra validation hereUpdateData();CMainMngDlg dlg;CString sql=select * from LogUser whe

10、re UserName=+m_strUsername+ and PassWord=+m_strPassword+ ;a.pRs=a.OpenRecordset(sql);/將記錄加入到記錄集int n=a.pRs-RecordCount;/計算符合條目if (n0)CDialog:OnOK();/登陸成功dlg.DoModal();else:AfxMessageBox(用戶名或密碼不正確!);/登陸失敗return;3.3 查詢顯示模塊BOOL CTickets:OnInitDialog() /訂單管理類初始化函數CDialog:OnInitDialog();/ TODO: Add extra

11、 initialization herecn.ADOConn();/連接數據庫Display();/設置列表框控件的擴展風格/整行選擇/有表格線/表頭/單擊激活DWORD dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE;/報表風格/單行選擇/高亮顯示選擇行m_List.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);m_List.SetExtendedStyle(dwExStyle);/設

12、置列表框控件的顏色/m_List.SetTextColor(RGB(200,200,0);/m_List.SetBkColor(RGB(240,247,233);/初始化列表,插入 11 列m_ListDoc.InsertColumn(0,LVCFMT_CENTER,0,0);m_ListDoc.InsertColumn(1,稿件名稱,LVCFMT_CENTER,120,0);m_ListDoc.InsertColumn(2,長度*寬度,LVCFMT_CENTER,90,0);m_ListDoc.InsertColumn(3,規格,LVCFMT_CENTER,65,0);m_ListDoc.I

13、nsertColumn(4,色數,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(5,規格,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(7,輸出機型,LVCFMT_CENTER,90,0);m_ListDoc.InsertColumn(8,頁數,LVCFMT_CENTER,65,0);m_ListDoc.InsertColumn(9,單價,LVCFMT_CENTER,70,0);m_ListDoc.InsertColumn(10,小計,LVCFMT_CENTER,80,0);m_ListDoc.InsertColu

14、mn(11,客戶名稱,LVCFMT_CENTER,137,0);return TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEreturn TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEvoid CTicketsMngDlg:Show() /輸出單據信息到列表控

15、件框CString DocName;int index=m_oddno.GetCurSel();if (index=CB_ERR)AfxMessageBox(_T(出錯!);return;m_oddno.GetLBText(index,coursename);CString s=select * from Documents where DocName=+DocName+;a.pRs=a.OpenRecordset(s);/把數據加到記錄集UpdateData();CString sql=select * from Documents where CustomerName=+CustomerN

16、ame+;a.pRs=a.OpenRecordset(sql);/打開數據到記錄集_variant_t DocNo,DocName,Length,Format,Color,OutputMacMac,Pagess,Price,CustomerName;/定義列表名變量int i=0;a.pRs=a.OpenRecordset(s);int nIndex=m_List.GetItemCount();LV_ITEM lvItem;lvItem.mask=LVIF_TEXT;lvItem.iItem=nIndex;lvItem.iSubItem=0; /第 nIndex 行lvItem.pszText

17、=(char*)(LPCTSTR)DocName1; /第一列參數for (a.pRs-MoveFirst();!a.pRs-adoEOF;a.pRs-MoveNext()m_List.InsertItem(&lvItem);DocName=a.pRs-GetCollect(DocName);/取數據Length=a.pRs-GetCollect(Length);Format=a.pRs-GetCollect(Format);Color=a.pRs-GetCollect(Color);Pages=a.pRs-GetCollect(Pages);Price=a.pRs-GetCollec

18、t(Price);Subtotal=a.pRs-GetCollect(Subtotal);Color=a.pRs-GetCollect(Color);design=a.pRs-GetCollect(design);CustomerName=a.pRs-GetCollect(CustomerName);OutputMac=a.pRs-GetCollect(OutputMac);DocName.ChangeType(VT_BSTR);/改變類型Length.ChangeType(VT_BSTR);Format.ChangeType(VT_BSTR);Color.ChangeType(VT_BSTR

19、);Pages.ChangeType(VT_BSTR);Price.ChangeType(VT_BSTR);Subtotal.ChangeType(VT_BSTR);Color.ChangeType(VT_BSTR);CustomerName.ChangeType(VT_BSTR);OutputMac.ChangeType(VT_BSTR);DocName=DocName.bstrVal;/調用 bstrvalLength=Length.bstrVal;Format=Format.bstrVal;Color=Color.bstrVal;OutputMac1=OutputMac.bstrVal;

20、Pages=Pages.bstrVal;Price=Price.bstrVal;Color=Color.bstrVal;CustomerName=CustomerName.bstrVal;3.4 添加,修改,刪除模塊:/ 打開修改訂單void CTicketsManDlg:OnItemmanButton() / TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_Adodc.GetRecordset().GetEof() MessageBox(請選擇要修改的訂單);return;/ 設置 Lis

21、tItemManDlg 對話框中的變量CListItemManDlg dlg;dlg.cRegId = m_Datagrid.GetItem(0);/ 打開 ListItemManDlg 對話框if (dlg.DoModal() = IDOK)RefreshData();elseRefreshData();/刪除訂單void CTicketsManDlg:OnDelButton() / TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_Adodc.GetRecordset().GetEof()MessageBox(請選擇要刪除的訂單!);return;if (MessageBox(是否刪除當前記錄?,請確認, MB_YESNO + MB_ICONQUESTION) = IDYES

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論