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

正文內容

企業(yè)生產管理系統(tǒng)設計與分析-閱讀頁

2025-07-12 10:11本頁面
  

【正文】 用組件類型庫中的接口生成包裝類,import語句實際上相當于執(zhí)行了API涵數(shù)LoadTypeLib()。語句no_namespace說明ADO對象不使用命名空間,rename (EOF, adoEOF)說明將ADO中結束標志EOF改為adoEOF,以避免和其它庫中命名相沖突。來實現(xiàn),這種方法在結束時要關閉初始化的COM,可以用下面語句CoUnInitialize()。在MFC中還可以采用另一種方法來實現(xiàn)初始化COM,這種方法只需要一條語句便可以自動為我們實現(xiàn)初始化COM和結束時關閉COM的操作,語句如下所示: AfxOleInit()。我們經常使用的只是前面用import語句引用類型庫時,它們分別是_ConnectionPtr、_RecordsetPtr和_CommandPtr。 ——打開一個庫連接。代碼如下所示: _ConnectionPtr m_pConnection。 (__uuidof(Connection))。try { // m_pConnectionOpen(Provider=。 } catch(__error e) { AfxMessageBox(數(shù)據庫連接失敗,!)。 } ——關閉一個庫連接。代碼如下所示: if(m_pConnectionState) m_pConnectionClose()。 _RecordsetPtr智能指針,可以用來打開庫內數(shù)據表,并可以對表內的記錄、字段等進行各種操作。打開庫內表名為DemoTable的數(shù)據表,代碼如下: _RecordsetPtr m_pRecordset。 // 在ADO操作中建議語句中要常用try...catch()來捕獲錯誤信息, // 因為它有時會經常出現(xiàn)一些意想不到的錯誤。 } catch(__error *e) { AfxMessageBox(eErrorMessage())。將表內數(shù)據全部讀出并顯示在列表框內,m_AccessList為列表框的成員變量名。代碼如下所示: _variant_t var。 try { if(!m_pRecordsetBOF) m_pRecordsetMoveFirst()。 return。 if( != VT_NULL) strName = (LPCSTR)_bstr_t(var)。 if( != VT_NULL) strAge = (LPCSTR)_bstr_t(var)。 m_pRecordsetMoveNext()。 } catch(__error *e) { AfxMessageBox(eErrorMessage())??梢韵扔肁ddNew()方法新增一個空記錄,再用PutCollect(字段名,值)輸入每個字段的值,最后再Update()更新到庫中數(shù)據既可。代碼所下所示: try { // 寫入各字段值 m_pRecordsetAddNew()。 m_pRecordsetPutCollect(Age, atol(m_Age))。 AfxMessageBox(插入成功!)。 } ——移動記錄指針。但我們有時經常需要隨意移動記錄指針到任意記錄位置時,可以使用Move(記錄號)方法來實現(xiàn),注意: Move()方法是相對于當前記錄來移動指針位置的,正值向后移動、負值向前移動,如:Move(3),當前記錄是3時,它將從記錄3開始往后再移動3條記錄位置。 // 先將指針移向第一條記錄,然后就可以相對第一條記錄來隨意移動記錄指針 m_pRecordsetMoveFirst()。 } catch(__error *e) { AfxMessageBox(eErrorMessage())??梢詫⒂涗浿羔樢苿拥揭薷挠涗浀奈恢锰?,直接用PutCollect(字段名,值)將新值寫入并Update()更新數(shù)據庫既可。 m_pRecordsetMove(1)。 m_pRecordsetPutCollect(Age, atol(m_Age))。 } catch(__error *e) { AfxMessageBox(eErrorMessage())。刪除記錄和上面修改記錄的操作類似,先將記錄指針移動到要修改記錄的位置,直接用Delete()方法刪除它并用Update()來更新數(shù)據庫既可。 m_pRecordsetMove(1)。 // 參數(shù)adAffectCurrent為刪除當前記錄 m_pRecordsetUpdate()。 } ——關閉記錄集。代碼如下所示: m_pRecordsetClose()。 CommandPtr智能指針,可以使用_ConnectionPtr或_RecordsetPtr來執(zhí)行任務,定義輸出參數(shù),執(zhí)行存儲過程或SQL語句。先創(chuàng)建一個_CommandPtr實例指針,再將庫連接和SQL語句做為參數(shù),執(zhí)行Execute()方法既可。 (__uuidof(Command))。 // 將庫連接賦于它 m_pCommandCommandText = SELECT * FROM DemoTable。 // 執(zhí)行SQL語句,返回記錄集 ——執(zhí)行存儲過程。另一個不同點就是在Execute()中參數(shù)由adCmdText(執(zhí)行SQL語句),改為adCmdStoredProc來執(zhí)行存儲過程。執(zhí)行存儲過程的代碼如下所示: _CommandPtr m_pCommand。 m_pCommandActiveConnection = m_pConnection。 m_pCommandExecute(NULL,NULL, adCmdStoredProc)。當最小化1個子窗體時,它的圖標將顯示在多文檔(MDI)主窗體中而不是在Windows的任務欄,主窗體及其所有子窗體將按主窗體被最小化之前的狀態(tài)顯示。在企業(yè)生產管理系統(tǒng)中采用了MDI主界面,MDI主界面由MDI窗體、菜單、工具欄和狀態(tài)欄組成。由于一個應用程序只能有一個MDI 窗體,如果工程已經有了一個MDI窗體,則“工程”菜單中的“添加MDI窗體”命令就是無效的。菜單的設計主要通過VC中的菜單編輯器完成,下面簡述設計企業(yè)生產管理系統(tǒng)菜單的過程:(1) 打開菜單編輯器。在“菜單編輯器”對話框中的“標題”文本框輸入菜單項,如“基礎信息管理”;在“名稱”文本框中個輸入名稱,如 “menu” ,然后依次完成“計劃信息管理”、“產品庫存管理”、“生產設備管理”、“系統(tǒng)維護”等主菜單項。選中需要添加子菜單的下一個主菜單項(如要為“基礎信息管理”添加子菜單則需要選中“基礎信息管理”主菜單項),單擊“插入”按鈕,再單擊下一條按鈕,然后在“標題”文本框中輸入子菜單項,例如“產品基礎信息”,在“名稱”文本框中輸入名稱,如 “menu” 。endifIMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) // NOTE the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code ! ON_WM_CREATE() //}}AFX_MSG_MAPEND_MESSAGE_MAP()static UINT indicators[] ={ ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL,}。 if (!(this, TBSTYLE_FLAT, WS_CHILD| WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC) || !(IDR_MAINFRAME)) { TRACE0(Failed to create toolbar\n)。 // fail to create } if (!(this) || !(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0(Failed to create status bar\n)。 // fail to create } (CBRS_ALIGN_ANY)。 DockControlBar(amp。 return 0。 cs){ if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE。}// CMainFrame diagnosticsifdef _DEBUGvoid CMainFrame::AssertValid() const{ CMDIFrameWnd::AssertValid()。 dc) const{ CMDIFrameWnd::Dump(dc)。BOOL CMyApp::InitInstance(){ AfxEnableControlContainer()。// Call this when using MFC in a shared DLLelse Enable3dControlsStatic()。 LoadStdProfileSettings()。s document templates. Document templates // serve as the connection between documents, frame windows and views. CMultiDocTemplate* pDocTemplate。 AddDocTemplate(pDocTemplate)。 if (!pMainFrameLoadFrame(IDR_MAINFRAME)) return FALSE。 // Parse mand line for standard shell mands, DDE, file open CCommandLineInfo cmdInfo。 // Dispatch mands specified on the mand line if (!ProcessShellCommand(cmdInfo)) return FALSE。 pMainFrameUpdateWindow()。}// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public: CAboutDlg()。 //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX)。CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){ //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT}void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 ()。 產品入庫查詢 企業(yè)庫存中不僅僅有已經成產的產品,還有生產所需的物料,所以對庫存管理時還要提供生產物料的入庫管理,生產物料的入庫管理也是庫存管理中必不可少的一環(huán),本系統(tǒng)也設計了入庫管理的功能,可以方便地增加入庫的物料,也可以方便地查詢庫存中已經存在的物料信息。 物料庫存信息查詢 物料基本信息模塊生產的物料是重要的信息,物料的基本信息包括物料的名稱,規(guī)格以及生產產品的編號和規(guī)格,以下是物料基本信息窗口運行界面。使企業(yè)生產的效率提高。 物料需求計劃界面,物料需求計劃可以幫助企業(yè)制定所需的物料,并制定合理的物料計劃。 設備檔案信息 設備的檔案信息,會將數(shù)據庫中企業(yè)所有的設備逐條顯示,包括設備的名編號、使用部門、狀態(tài)、和啟用的時間等等。 設備的查詢界面 本系統(tǒng)的設備查詢可以根據查詢條件,如設備編號,設備名稱等從數(shù)據庫中逐一匹配,由此可以滿足不能部門,不同類型的人的查詢要求。 設備狀態(tài)設置當一個設備的狀態(tài)發(fā)生改變的時候,如從使用狀態(tài)變成維修狀態(tài),管理人員就可以通過本功能實現(xiàn)設備狀態(tài)的設置,只要輸入設備編號,就可以設置設備的狀態(tài)。 設備報廢信息界面 生產領料模塊的設計與實現(xiàn) 當企業(yè)的各個生產部門生產時,需要向倉庫中領取生產所需的物料,對各個生產部門從倉庫中領取的生產資料進行管理也是非常重要的一環(huán),管理員可以通過生產領料模塊對各個部門領取的生產資料進行記錄,從而更好地進行倉庫的管理。本系統(tǒng)采用Visual C++和SQL Server 2000相結合的C/S模式。論文首先闡述了系統(tǒng)的開發(fā)背景,明確了系統(tǒng)的開發(fā)目標,還簡述了系統(tǒng)開發(fā)所使用技術的特點及其應用范圍。之后對系統(tǒng)的功能模塊進行劃分,并完成數(shù)據庫設計。致謝在我做畢業(yè)設計中,我
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1