【正文】
【摘要】進(jìn)入二十一世紀(jì)以來,隨著社會的不斷進(jìn)步和科學(xué)技術(shù)的飛速發(fā)展,信息技術(shù)進(jìn)入了爆炸式的年代,信息技術(shù)與人們的生活工作已息息相關(guān)、密不可分。計算機局域網(wǎng)、辦公自動化已成為各大小企事業(yè)單位提高工作效率、簡化工作流程、創(chuàng)造更大經(jīng)濟效益的重要手段。隨著計算機在企業(yè)管理中應(yīng)用的普及,利用計算機實現(xiàn)企業(yè)的各種管理工作勢在必行。而企業(yè)生產(chǎn)制造的關(guān)鍵在于如何規(guī)劃和計劃各種資源在時間、地點、產(chǎn)品之間的合理配備,如何按計劃監(jiān)督責(zé)任方對資源的使用情況,如何根據(jù)預(yù)測和歷史情況為決策者提供更有效地利用資源的分析數(shù)據(jù)。本系統(tǒng)結(jié)合工業(yè)企業(yè)的生產(chǎn)中的特點經(jīng)過實際的需求分析,采用功能強大的Visual Server 2000 作為開發(fā)工具而開發(fā)出來的企業(yè)進(jìn)銷存管理系統(tǒng)。本系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。該系統(tǒng)的數(shù)據(jù)庫使用了 SQL Server 2000。程序的設(shè)計使用了具有一系列嶄新功能的傳統(tǒng)數(shù)據(jù)庫開發(fā)工具Visual Basic 。系統(tǒng)的主要功能是制定采購計劃、物料需求計算、材料供求分析。并設(shè)計了幾個小模塊,以實現(xiàn)數(shù)據(jù)的處理、查詢、統(tǒng)計及維護(hù)等功能。Visual Basic的強大功能中數(shù)據(jù)窗口技術(shù)由于其簡單、直觀、功能強大等特點成為本系統(tǒng)使用最多的技術(shù)。由于Visual Basic采用的是Client/Server的體系結(jié)構(gòu),所以本系統(tǒng)可以在局域網(wǎng)上運行以適應(yīng)需求。因時間關(guān)系以及自身水平的限制,本系統(tǒng)的制作并不完善,所以難免有錯誤之處,請老師批評指正。論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設(shè)計的重點、設(shè)計思想、難點技術(shù)和解決方案。關(guān)鍵詞:SQL Server 2000數(shù)據(jù)庫,Visual ,基本信息管理前言進(jìn)入二十一世紀(jì)以來,隨著社會的不斷進(jìn)步和科學(xué)技術(shù)的飛速發(fā)展,信息技術(shù)進(jìn)入了爆炸式的年代,信息技術(shù)與人們的生活工作已息息相關(guān)、密不可分。計算機局域網(wǎng)、辦公自動化已成為各大小企事業(yè)單位提高工作效率、簡化工作流程、創(chuàng)造更大經(jīng)濟效益的重要手段。隨著計算機在企業(yè)管理中應(yīng)用的普及,利用計算機實現(xiàn)企業(yè)的各種管理工作勢在必行。而企業(yè)生產(chǎn)制造的關(guān)鍵在于如何規(guī)劃和計劃各種資源在時間、地點、產(chǎn)品之間的合理配備,如何按計劃監(jiān)督責(zé)任方對資源的使用情況,如何根據(jù)預(yù)測和歷史情況為決策者提供更有效地利用資源的分析數(shù)據(jù)。我們經(jīng)過分析研究,為了能使本系統(tǒng)能夠與現(xiàn)有系統(tǒng)更好地接軌,采用了目前使用率最高、保密性好的數(shù)據(jù)庫系統(tǒng)—SQL Server 2000數(shù)據(jù)庫,并選擇了Visual Basic 。SQL Server是數(shù)據(jù)庫技術(shù)的倡導(dǎo)者和先驅(qū),是標(biāo)準(zhǔn)SQL數(shù)據(jù)庫語言的產(chǎn)品。自從推出以來,它受到社會的廣泛注意。近二十年來,SQL不斷將先進(jìn)的數(shù)據(jù)庫技數(shù)融入其中,并極有預(yù)見性地領(lǐng)導(dǎo)著全球數(shù)據(jù)庫技術(shù)的發(fā)展。SQL Server 2000 在數(shù)據(jù)庫管理、數(shù)據(jù)完整性檢查、數(shù)據(jù)庫查詢功能、數(shù)據(jù)庫安全性方面都具有強大的功能,而且它還在保密機制、備份與恢復(fù)、空間管理、開放式聯(lián)接以及開發(fā)工具方面提供了不同的手段和方法。Visual Basic是目前廣泛流行的一種面向?qū)ο蟮?、具有可視化圖形界面的快速交互式數(shù)據(jù)庫前臺開發(fā)工具,它支持客戶/服務(wù)器機制、分布式組件開發(fā)與因特網(wǎng)應(yīng)用。利用它既可以開發(fā)功能強大的、運行在多個平臺的、能夠操作多個數(shù)據(jù)庫的應(yīng)用系統(tǒng),還可以開發(fā)客戶/服務(wù)器、分布式、因特網(wǎng)應(yīng)用系統(tǒng)。本系統(tǒng)中,我們利用SQL Server數(shù)據(jù)庫創(chuàng)建應(yīng)用數(shù)據(jù)庫,建立表空間和表,利用Visual Basic前臺開發(fā)工具,由于本系統(tǒng)是要應(yīng)用于局域網(wǎng)上,所以建立與SQL數(shù)據(jù)庫的連接是本系統(tǒng)的第一個重要環(huán)節(jié),我們發(fā)現(xiàn)直接使用ADO對象要比工具容易多,因此我們使用ADO對象模型進(jìn)行數(shù)據(jù)庫的連接。建立與SQL Server數(shù)據(jù)庫的連接后,利用各類管理畫筆窗口和Visual Basic語言,開發(fā)一系列功能模塊,實現(xiàn)了對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行生成、處理、查詢、統(tǒng)計及字典維護(hù)等一系列功能,并能將新生成的數(shù)據(jù)制作成報表,以實現(xiàn)我們的設(shè)計思想。通過我們大家的共同努力和指導(dǎo)老師的幫助,我們完成了整個系統(tǒng)的設(shè)計開發(fā),基本實現(xiàn)了預(yù)期的目的,同時也通過這次設(shè)計開發(fā)過程增加了自身的實踐經(jīng)驗,提高了自身的設(shè)計開發(fā)能力,為將來工作打下了良好的基礎(chǔ)。由于時間關(guān)系和自身的水平,我們的設(shè)計并不完善,其中也難免有錯誤之處,也請各位老師給予批評和指導(dǎo)。第一章 緒論隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應(yīng)用的普及,利用計算機實現(xiàn)企業(yè)的生產(chǎn)管理勢在必行。對于大中型企業(yè)來說,利用計算機支持企業(yè)高效率完成生產(chǎn)管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動企業(yè)生產(chǎn)走向科學(xué)化、規(guī)范化的必要條件;而企業(yè)生產(chǎn)制造的關(guān)鍵在于如何規(guī)劃和計劃各種資源在時間、地點、產(chǎn)品之間的合理配備,如何按計劃監(jiān)督責(zé)任方對資源的使用情況,如何根據(jù)預(yù)測和歷史情況為決策者提供更有效地利用資源的分析數(shù)據(jù)。而生產(chǎn)管理是一項瑣碎、復(fù)雜而又十分細(xì)致的工作,產(chǎn)品的供應(yīng)、銷售、統(tǒng)計、發(fā)放的工作量很大,一般不允許出錯,如果實行手工操作,每月須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進(jìn)行生產(chǎn)管理工作,不僅能夠保證產(chǎn)品各種信息準(zhǔn)確無誤、快速輸出,而且還可以利用計算機對有關(guān)產(chǎn)品的各種信息進(jìn)行統(tǒng)計,服務(wù)于財務(wù)部門其他方面的核算和財務(wù)處理,:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高生產(chǎn)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。經(jīng)過我們一段時間的調(diào)查研究,資料搜集分析并結(jié)合工業(yè)企業(yè)現(xiàn)在的生產(chǎn)管理狀況,我們發(fā)現(xiàn)現(xiàn)有軟件雖然具有傳遞功能,但是在數(shù)據(jù)處理、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)匯總上存在一定的缺陷,于是我們決定嘗試開發(fā)一個系統(tǒng)來彌補這些缺陷。結(jié)合我們目前的現(xiàn)有條件設(shè)備,我們采用了SLQ Server 2000數(shù)據(jù)庫系統(tǒng)和Visual Basic ,設(shè)計開發(fā)了《企業(yè)進(jìn)銷存管理系統(tǒng)》,開發(fā)了數(shù)據(jù)生成、數(shù)據(jù)匯總、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計和維護(hù)等幾個小模塊,可以從現(xiàn)有數(shù)據(jù)中提取企業(yè)生產(chǎn)制造的專用數(shù)據(jù),進(jìn)行分類匯總,生成每日報表和每月報表。 開發(fā)工具的選擇現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場上最為流行、使用最多、最為先進(jìn)的可用作企業(yè)級開發(fā)工具的產(chǎn)品有:Microsoft公司的Visual BasicMicrosoft公司的SQL Server 2000Microsoft公司的ActiveX Data ObjectsVisual Basic是一種可視化的、面向?qū)ο蠛蜅l用事件驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。它簡單易學(xué)、效率高,且功能強大。在Visual Basic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)??偟膩碚f,Visual Basic具有以下特點:可視化編程:用傳統(tǒng)程序設(shè)計語言設(shè)計程序時,都是通過編寫程序代碼來設(shè)計用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程編譯修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計工具,把Windows界面設(shè)計的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計而編寫大量程序代碼。只需要按設(shè)計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。Visual Basic自動產(chǎn)生界面設(shè)計代碼,程序設(shè)計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計的效率。面向?qū)ο蟮某绦蛟O(shè)計 Basic支持面向?qū)ο蟮某绦蛟O(shè)計,但它與一般的面向?qū)ο蟮某绦蛟O(shè)計語言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計方法,把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有的屬性,使對象成為實在的東西。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。結(jié)構(gòu)化程序設(shè)計語言Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設(shè)計Visual Basic程序的過程中,隨時可以運行程序,而在整個程序設(shè)計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運行。事件驅(qū)動編程機制在用Visual Basic設(shè)計大型應(yīng)用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。訪問數(shù)據(jù)庫Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理。Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務(wù)器(client/server)方案。對象的鏈接與嵌入(OLE)對象的鏈接與嵌入(OLE)將每個應(yīng)用程序都看做是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,它把多個應(yīng)用程序合為一體,將每個應(yīng)用程序看做是一個對象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(pound document),這種文檔由來自多個不同應(yīng)用程序的對象組成,文檔中的每個對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。動態(tài)鏈接庫(DLL)Visual Basic是一種高級程序設(shè)計語言,不具備低級語言的功能,對訪問機器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù)。SQL Server 2000是在SQL Server 。SQL Server ,它具有非常好的再造和重寫特性。SQL Server 、穩(wěn)定性、便于管理和易于開發(fā)的優(yōu)勢。SQL Server 2000繼承了數(shù)據(jù)軟件設(shè)計和引擎方面的優(yōu)勢,已經(jīng)成為新一代網(wǎng)絡(luò)應(yīng)用程序的最佳數(shù)據(jù)庫和分析解決方案之一。 Enterprise Server的核心組件,它將減少電子商務(wù)、在線商務(wù)和數(shù)據(jù)倉儲應(yīng)用程序推向市場的時間,并對需要的環(huán)境提供可靠的支持。SQL Server 2000對XML 和HTTP提供充分的支持;提供分割裝載和確保時間的特性;提供先進(jìn)的管理和協(xié)調(diào)機制,可以自動管理線程任務(wù),降低總體開銷。除此而外SQL Server 2000充分的利用了Windows 2000的功能。ActiveX Data Objects是Microsoft公司應(yīng)用Universal data Access的一種方式。Universal data Access允許用戶為相關(guān)和非相關(guān)數(shù)據(jù)使用同一高速界面,同時還可以提供一個使用簡單、語言獨立的界面。在我們的此次設(shè)計中我們應(yīng)用了ADO中的對象有:Command (運行SQL語句或存儲過程)、Connection(用于管理連接數(shù)據(jù)庫或其他OLE DB數(shù)據(jù)提供者所需要的信息)、Error(包含特定錯誤的有關(guān)信息)、Errors(包含一個Error對象集合)、Field(包含數(shù)據(jù)庫中特定字段的信息)、Fields(包含一個Field對象的集合)、Record(說明Recordset對象、文件或電子郵件信息中的一個數(shù)據(jù)行)、 Recordset(用于管理詢問操作產(chǎn)生的行組)。 在ADO對象模型中,主要有三個用于數(shù)據(jù)庫訪問的對象:Connection對象提供了一個通向數(shù)據(jù)源的途徑,Command對象包含了執(zhí)行SQL語句或存儲過程所需要的信息,Record對象包含了詢問的結(jié)果。如果需要,Command和Rrcordest對象能夠創(chuàng)建一個絕對的Connection對象,所以僅通過創(chuàng)建一個單一的對象就可以訪問一系列的記錄或運行數(shù)據(jù)庫函數(shù)。Record和Steram對象主要被用來支持訪問非數(shù)據(jù)露資源。Record對象代表記錄集中的一個數(shù)據(jù)行,也代表一個文件或一條電子郵件信息中的數(shù)據(jù)行;Stream對象為控制文件或電子郵件信息中的數(shù)據(jù)提供了便利的條件。Record對象用于說明諸如此類的信息:文件系統(tǒng)中的子目錄和文件、電子郵件系統(tǒng)中的文件夾或信息。Record對象也可以用來說明Recordset對象中的數(shù)據(jù)行。Steram對象用于對Record對象相關(guān)信息和文件的二進(jìn)制信息進(jìn)行讀