數(shù)據(jù)庫開發(fā)實(shí)習(xí)報(bào)告模板_第1頁
數(shù)據(jù)庫開發(fā)實(shí)習(xí)報(bào)告模板_第2頁
數(shù)據(jù)庫開發(fā)實(shí)習(xí)報(bào)告模板_第3頁
數(shù)據(jù)庫開發(fā)實(shí)習(xí)報(bào)告模板_第4頁
數(shù)據(jù)庫開發(fā)實(shí)習(xí)報(bào)告模板_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

家電信息管理系統(tǒng)》數(shù)據(jù)庫開發(fā)技術(shù)-教學(xué)實(shí)習(xí)報(bào)告專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)班級(jí): 09級(jí)計(jì)本3班小組成員:李明洋宣召龍鄒宏亮竇紅濤指導(dǎo)教師:謝艷新、許薇二o—二年六月十日目錄TOC\o"1-5"\h\z\o"CurrentDocument"家電信息管理系統(tǒng)當(dāng)前的研究現(xiàn)狀 1\o"CurrentDocument"目前存在的主要問題 1\o"CurrentDocument"提出解決各種問題的路線及方法 1\o"CurrentDocument"采用工具是哪些 2\o"CurrentDocument"運(yùn)行的環(huán)境 2\o"CurrentDocument"數(shù)據(jù)庫設(shè)計(jì)階段 3需求分析 3\o"CurrentDocument"登錄界面 4\o"CurrentDocument"概念設(shè)計(jì) 5邏輯結(jié)構(gòu)設(shè)計(jì) 6物理邏輯設(shè)計(jì) 6數(shù)據(jù)庫實(shí)施 6\o"CurrentDocument"7.程序代碼 8login窗體 8From1窗體 9From2窗體 14\o"CurrentDocument"總結(jié) 19參考資料 19指導(dǎo)教師評(píng)語: 19家電信息管理系統(tǒng)當(dāng)前的研究現(xiàn)狀數(shù)據(jù)倉庫(DataWarehouse)被企業(yè)所采用已有十多年的時(shí)間,其中的成功或失敗都為許多企業(yè)提供了寶貴經(jīng)驗(yàn)。隨著數(shù)據(jù)倉庫使用者日益成熟,他們對(duì)數(shù)據(jù)倉庫的期望也不斷提高。隨著許多企業(yè)以運(yùn)用業(yè)界最佳實(shí)例與先進(jìn)的技術(shù),開始重整其數(shù)據(jù)倉庫,我們也逐漸邁入第二代的數(shù)據(jù)倉庫。數(shù)據(jù)倉庫已從后端的策略性決策支持系統(tǒng),變?yōu)檎麄€(gè)企業(yè)運(yùn)營的一個(gè)關(guān)鍵組件。家電信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。介紹了家電信息管理系統(tǒng)的制作過程。當(dāng)前市場上對(duì)家電信息管理系統(tǒng)都有很大的需求,然而目前市場上的家電信息管理系統(tǒng)都系實(shí)存在這樣或那樣的缺陷,因此我們想通過調(diào)查設(shè)計(jì)個(gè)具有特色的家電信息管理系統(tǒng),達(dá)到實(shí)用和盡量減少煩瑣的作的目的。本系統(tǒng)采用9.0編寫,數(shù)據(jù)庫SQLsever2008。家電信息管理系統(tǒng)實(shí)現(xiàn)自動(dòng)化以后可以使工作人員減少70%的工作,有限的經(jīng)費(fèi)發(fā)揮最大的使用價(jià)值;極大地提高資源的標(biāo)準(zhǔn)性和信息的使用效率。家電信息自動(dòng)化管理是當(dāng)今信息化發(fā)展的必然趨勢。目前存在的主要問題目前很多家電信息還在使用來管理家電信息里的商品,用戶少的時(shí)候,人工記錄方法能滿足當(dāng)前的需要,問題并不突出,但隨著社會(huì)的進(jìn)步,人們的生活越來越豐富,人工記錄方法來維數(shù)量眾多商品,既效率低又錯(cuò)誤過多,根本不能滿足人們的需要,大大影響了家電信息的正常管理工作。同時(shí),即使已經(jīng)用上家電信息管理系統(tǒng)的商品,因?yàn)閷?duì)系統(tǒng)的不了解或系統(tǒng)本身存在問題,使銷售效率沒有達(dá)到理想的效果。同時(shí),數(shù)據(jù)庫技術(shù)發(fā)展快速,目前分布式查詢已經(jīng)廣泛應(yīng)用,新技術(shù)如異構(gòu)和數(shù)據(jù)倉庫,數(shù)據(jù)挖掘技術(shù)的成熟,很多行業(yè)都在應(yīng)用,要想在競爭中取勝必需有更高的效益,只有不斷應(yīng)用新技術(shù)才能滿足用戶對(duì)效率的追求。因此家電信息中應(yīng)用信息管理系統(tǒng),是對(duì)產(chǎn)品資源、銷售資源、貨物信息、用戶信息進(jìn)行管理和及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于管理效率的提高。提出解決各種問題的路線及方法第一代“數(shù)據(jù)倉庫”通常是部門級(jí)的數(shù)據(jù)集市,僅能支持來自特定部門的有限查詢,容易導(dǎo)致信息重復(fù)、各數(shù)據(jù)集市的信息不一致、無法解答企業(yè)層的問題,更不用提支持所有分散系統(tǒng)所需的高額成本。然而,那些已將數(shù)據(jù)集市整合至集中數(shù)據(jù)倉庫的公司,則已開始體驗(yàn)到整合數(shù)據(jù)集市所帶來的優(yōu)勢,以及以前不可能達(dá)到的業(yè)務(wù)成果。整合數(shù)據(jù)集市的趨勢反映于2002年3月的GartnerResearch所發(fā)表的一篇文章,文中闡明:“在低迷的經(jīng)濟(jì)狀況下,企業(yè)可將數(shù)據(jù)集市整合為單一的數(shù)據(jù)倉庫,以降低成本并提高業(yè)務(wù)價(jià)值?!盙artner接著預(yù)測:“在2002年運(yùn)用數(shù)據(jù)倉庫實(shí)施方法開始致力于數(shù)據(jù)集市整合的企業(yè),將可在2004年之前縮減至少50%的費(fèi)用,并至少提高500%的業(yè)務(wù)價(jià)值。”解決辦法:(1) 增加更多的分析,有利于提高查詢速度。五大數(shù)據(jù)挖掘趨勢研究報(bào)告中,企業(yè)數(shù)據(jù)挖掘解決方案將因其擁有更具預(yù)測性的模式、更佳的數(shù)據(jù)挖掘模型、更具成本效益的模型、逐步形成的數(shù)據(jù)挖掘標(biāo)準(zhǔn),以及整合于RDBMS服務(wù)器中而被企業(yè)加速采用。(2) 動(dòng)態(tài)數(shù)據(jù)倉庫的應(yīng)用。要具備真正的競爭力,使用者必須預(yù)測將會(huì)發(fā)生的事,而且更要有正確的信息,來驅(qū)動(dòng)想要讓它發(fā)生的事。動(dòng)態(tài)數(shù)據(jù)倉庫包含了操作系統(tǒng)的整合分析,以制定最佳的戰(zhàn)術(shù)和策略性決策。動(dòng)態(tài)數(shù)據(jù)倉庫能支持下列功能:在信用卡交易期間進(jìn)行欺詐監(jiān)測;從呼叫中心自動(dòng)產(chǎn)生直效營銷;根據(jù)客戶對(duì)公司的價(jià)值,在與客戶接觸時(shí)能彈性地制定價(jià)格。采用工具是哪些本項(xiàng)目采用SQL2008作為后臺(tái)數(shù)據(jù)庫,Microsoft?SQLServer?2008擴(kuò)展了MicrosoftSQLServer7.0版的性能、可靠性、質(zhì)量和易用性。MicrosoftSQLServer2008增加了幾種新的功能,由此成為大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺(tái),采用vb與數(shù)據(jù)庫的連接。在開發(fā)階段主要用企業(yè)管理器作為開發(fā)工具,主要使用觸發(fā)器和存儲(chǔ)過程對(duì)系統(tǒng)中的數(shù)據(jù)的完整性和一至性的約束。在測試階段用查詢分析器來檢驗(yàn)設(shè)計(jì)是否達(dá)到設(shè)計(jì)的功能。運(yùn)行的環(huán)境應(yīng)用于Windows局域網(wǎng)和遠(yuǎn)程服務(wù)器.數(shù)據(jù)庫服務(wù)器采用SQLServer2008,運(yùn)行于WindowsNT或Windows2000Server操作系統(tǒng).后臺(tái)程序運(yùn)行于vb環(huán)境中.數(shù)據(jù)庫設(shè)計(jì)階段6.1需求分析在本階段任務(wù)是對(duì)家電信息的工作流程進(jìn)行調(diào)查和了解,分析,確定用戶的需求是什么。在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確新系統(tǒng)的各種需求,包括用戶的信息需求,處理需求,安全性,和完整性的需求等。在收集各種需求數(shù)據(jù)的,對(duì)前面調(diào)查的結(jié)果進(jìn)行初步的分析,確定新系統(tǒng)的邊界,確定哪些功能由計(jì)算機(jī)完成或?qū)頊?zhǔn)備讓計(jì)算機(jī)完成,哪些由人工完成。由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。系統(tǒng)分析的最后階段是編寫系統(tǒng)分析報(bào)告,即需求規(guī)范說明書,需求規(guī)范說明書是對(duì)需求分析階段的一個(gè)總結(jié)。系統(tǒng)分析報(bào)告經(jīng)有關(guān)技術(shù)專家評(píng)審后,由項(xiàng)目方與開發(fā)方簽字確認(rèn)。家電信息庫存管理是以訂單為核心,而行為管理主要集中于發(fā)單,入庫,出庫的查詢,統(tǒng)計(jì).在此信息基礎(chǔ)上,向各個(gè)不同的供應(yīng)商發(fā)送供求信息,使家電信息銷售供應(yīng)正常。方便各部門進(jìn)行工作的總結(jié)和分析,并為經(jīng)理層提供月度報(bào)表或季度報(bào)表,使這一層的領(lǐng)導(dǎo)能總體把握整個(gè)家電信息庫存的運(yùn)行狀況,經(jīng)營情況和存在的問題,更有利于采取相應(yīng)的決策,進(jìn)行總體協(xié)調(diào)。家電信息庫存的優(yōu)點(diǎn):適用性:功能齊全,模塊式可拆卸易用性:作簡單,容易維護(hù)穩(wěn)定性:系統(tǒng)成熟,穩(wěn)定,安全性能好合理性:價(jià)格合理,售后服務(wù)有保障家電信息庫存的缺點(diǎn):1單一性:其主要依賴訂單,訂單不及時(shí)時(shí),系統(tǒng)難以維持。系統(tǒng)設(shè)計(jì)目的(1)大大提高家電信息的運(yùn)作效率。(2)通過全面的信息采集和處理,輔助提高家電信息的決策水平。使用本系統(tǒng),可以迅速提升家電信息的管理水平,為降低經(jīng)營成本,提高效益,增強(qiáng)家電信息擴(kuò)張能力,提供有效的技術(shù)保障。圖6-1整體數(shù)據(jù)流圖6.2登錄界面圖6-3登錄界面6.3概念設(shè)計(jì)本階段的主要任務(wù)是對(duì)需求分析得到的用戶需求抽象為信息結(jié)構(gòu),即概念模型。概念模型作為概念設(shè)計(jì)的表達(dá)工具,為數(shù)據(jù)庫提供一個(gè)說明性結(jié)構(gòu),是設(shè)計(jì)數(shù)據(jù)庫邏輯結(jié)構(gòu)即邏輯模型的基礎(chǔ)。本次開發(fā)使用混合的策略來設(shè)計(jì)概念結(jié)構(gòu)的E—R模型。從需求分析中抽象出系統(tǒng)的實(shí)體,屬性,聯(lián)系,并通過全局模型設(shè)計(jì)得出圖書管理系統(tǒng)的基本E-R圖,如下圖:銷售數(shù)謎銷售廠彖繼號(hào)備注)(產(chǎn)品編號(hào))銷售數(shù)謎銷售廠彖繼號(hào)備注)(產(chǎn)品編號(hào)) (產(chǎn)品名稱) C價(jià)格)C庫存量J(地區(qū)) (負(fù)責(zé)人) C業(yè)話)描述產(chǎn)品和廠家的E-R圖字段名字段類型約束控制字段說明商品名稱varChar(50)主鍵編號(hào)價(jià)格Float()Notnull價(jià)格商品數(shù)量Float()Notnull商品數(shù)量商品產(chǎn)地Varchar(30)Notnull商品產(chǎn)地單位Char(10)Notnull單位制造商Varchar(30)Notnull制造商種類Varchar(30)Notnull標(biāo)志圖6-5建立數(shù)據(jù)庫表邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)階段得到的E-R模型是用戶模型,它獨(dú)立于任何一種數(shù)據(jù)模型,獨(dú)立于任何一個(gè)DBMS。為了建立用戶所要求的數(shù)據(jù)庫,需要把上述概念模型轉(zhuǎn)換成某個(gè)具體的DBMS所支持的數(shù)據(jù)模型。數(shù)據(jù)庫邏輯設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)轉(zhuǎn)換成特定的DBMS所支持的數(shù)據(jù)模型的過程。經(jīng)過初始關(guān)系模式設(shè)計(jì),關(guān)系模式規(guī)范化,模式的評(píng)價(jià)與改進(jìn),得出以下幾個(gè)關(guān)系模式:商品(商品名稱,商品數(shù)量,商品價(jià)格,商品產(chǎn)地,商品種類,單位,生產(chǎn)廠商)物理邏輯設(shè)計(jì)數(shù)據(jù)庫最終要存儲(chǔ)在物理設(shè)備上,對(duì)于給定的邏輯數(shù)據(jù)模型,選取一個(gè)最適合的應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,稱為數(shù)據(jù)庫物理設(shè)計(jì)。物理設(shè)計(jì)的任務(wù)是為了有效地實(shí)現(xiàn)邏輯模式,確定所采取的存儲(chǔ)策略。此階段是以邏輯設(shè)計(jì)的結(jié)果作為輸入,結(jié)合具體的DBMS的特點(diǎn)與存儲(chǔ)設(shè)備特性進(jìn)行設(shè)計(jì),選定數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。以下為存取記錄的結(jié)構(gòu)設(shè)計(jì):讀者表6-1:數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫實(shí)施是指根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果,在計(jì)算機(jī)上建立起實(shí)際的數(shù)據(jù)庫結(jié)構(gòu),裝入數(shù)據(jù),進(jìn)行測試和試運(yùn)行的過程。數(shù)據(jù)庫實(shí)施主要包括,建立實(shí)際數(shù)據(jù)庫結(jié)構(gòu),裝入數(shù)據(jù),應(yīng)用程序編碼與調(diào)試,數(shù)據(jù)庫運(yùn)行和整理文檔。在項(xiàng)目是用Microsoft?SQLServer?2000作為后臺(tái)數(shù)據(jù)庫,主要用了企業(yè)管理器作為設(shè)計(jì)工具,用查詢分析器作為功能的檢驗(yàn)。以下為開發(fā)中的主要代碼和在查詢分析器檢驗(yàn)的代碼:添加記錄:Stringexe="insertintoCommBiao(commName,commJiage,commDanwei,commChangjia,commShuliang,commChandi,commZhonglei)values('"+newString(db.getCommName().getBytes("8859_1"),"gbk")+"','"+db.getCommJiage()+"','"+newString(db.getCommDanwei().getBytes("8859_1"),"gbk")+"','"+newString(db.getCommChangjia().getBytes("8859_1"),"gbk")+"','"+db.getCommShuliang()+"','"+newString(db.getCommChandi().getBytes("8859_1"),"gbk")+"','"+newString(db.getCommZhonglei().getBytes("8859_1"),"gbk")+"')"圖6-6添加登錄頁面刪除記錄:Stringexe="deletefromCommBiaowhereid="+id;修改記錄:Stringexe="updateCommBiaosetcommName='"+newString(db.getCommName().getBytes("8859_1"),"gbk")+"',commJiage='"+db.getCommJiage()+"',commDanwei='"+newString(db.getCommDanwei().getBytes("8859_1"),"gbk")+"',commChangjia='"+newString(db.getCommChangjia().getBytes("8859_1"),"gbk")+"',commShuliang='"+db.getCommShuliang()+"',commChandi='"+newString(db.getCommChandi().getBytes("8859_1"),"gbk")+"',commZhonglei='"+newString(db.getCommZhonglei().getBytes("8859_1"),"gbk")+"'whereid="+db.getId();查詢記錄:Stringexe="select*fromCommBiaowhereid="+id;ResultSetrs=stm.executeQuery(sql);intcount=0;if(rs.next()){count=rs.getInt(1)}stm.execute(sql);close();returncount;}7.程序代碼7.1login窗體'PrivateDeclareFunctionGetUserNameLib"advapi32.dll"Alias"getusernamea"(ByVallpBufferAsString,nSizeAsLong)AsLongPrivateDeclareFunctionGetUserNameLib"advapi32.dll"Alias"GetUserNameA"(ByVallpBufferAsString,nSizeAsLong)AsLongPrivateSubcmdcancel_Click()UnloadMeEndSubPrivateSubcmdok_Click()DimtxtsqlAsStringtxtsql="select*fromuserswhereuserid='"&Trim(username.Text)&"'"&"andpassword='"&Trim(password.Text)&"'"Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenmrc.Closeflag=1UnloadMeElseMsgBox"密碼不正確,請(qǐng)重新輸入!",,"login"username.SetFocusEndIfEndSubPrivateSubForm_Load()DimsbufferAsStringDimlsizeAsLongsbuffer=Space$(255)lsize=Len(sbuffer)CallGetUserName(sbuffer,lsize)Iflsize>0Thenusername.Text=Left$(sbuffer,lsize)Elseusername.Text=vbNullStringEndIfEndSub7.2From1窗體OptionExplicitPublicmrcAsADODB.RecordsetPubliccpbhAsStringPublictxtsqlAsStringPrivateSubcmd_Click()DimcountAsIntegerDimsmegAsStringDimmrccAsADODB.RecordsetDimmsgtextAsStringDimcpbh,cpmcAsStringDimjgAsDoubleDimkclAsIntegerDimcnnAsADODB.ConnectionDimcmdupdateAsNewADODB.CommandDimcmddeleAsNewADODB.CommandSelectCaseflagaddCase1'添加操作的實(shí)現(xiàn)IfTrim(Combo1.Text&"")=""Thensmeg="產(chǎn)品編號(hào)"EndIfForcount=1To3IfTrim(txtitem(count)&"")=""ThenSelectCasecountCase1smeg="產(chǎn)品名稱"Case2smeg="產(chǎn)品價(jià)格"Case3smeg="產(chǎn)品庫存量"EndSelectsmeg=smeg&"不能為空!"MsgBoxsmeg,vbOKOnly+vbExclamation,"警告"txtitem(count).SetFocusExitSubEndIfNextcountcpbh=Combo1.TextCombo1.AddItemTrim(cpbh)cpmc=txtitem(2).Textjg=CDbl(txtitem(1).Text)kcl=CInt(txtitem(3).Text)txtsql="select*fromcpwherecpbh='"&Trim(Combo1.Text)&"'"Setmrcc=executesql(txtsql)Ifmrcc.EOF=FalseThenMsgBox"此產(chǎn)品編號(hào)已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrcc.CloseElseSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execcp_insert'"&cpbh&"','"&cpmc&"',"&jg&","&kclcnn.CloseMsgBox"數(shù)據(jù)已保存!",vbOKOnly+vbExclamation,"提示"Combo1.Text=""Forcount=1To3txtitem(count).Text=""NextcountEndIfCase2cpbh=Combo1.Textcpmc=txtitem(1).Textjg=CDbl(txtitem(2).Text)kcl=CInt(txtitem(3).Text)'Setcnn=NewADODB.Connection'cnn.Openconnectstring'Setcmdupdate.ActiveConnection=cnn'mandtext="cp_update"'cmdupdate.CommandType=adCmdStoredProc'cmdupdate.Parameters.appendcmdupdate.createparameter("cpbh0",adchar,adparaminput,6,cpbh)'cmdupdate.Parameters.appendcmdupdate.createparameter("cpmc0",adchar,adparaminput,12,cpmc)'cmdupdate.Parameters.appendcmdupdate.createparameter("jg0",addouble,adparaminput,jg)'cmdupdate.Parameters.appendcmdupdate.createparameter("kcl0",adinteger,adparaminput,kcl)'cmdupdate.Parameters.appendcmdupdate.createparameter("flag",adinteger,adparamoutput)'cmdupdate.Execute'cmdupdate.ExecuteSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execcp1_update'"&cpbh&"','"&cpmc&"',"&jg&","&kclcnn.Close'Ifcmdupdate("flag")=1ThenMsgBox"數(shù)據(jù)已更新!",vbOKOnly+vbExclamation,"提示"'Else'MsgBox"數(shù)據(jù)更新不成功!",vbOKOnly+vbExclamation,"提示"'cnn.Close'EndIfCase3cpbh=Combo1.TextSetcnn=NewADODB.Connectioncnn.OpenconnectstringSetcmddele.ActiveConnection=cnncmddele.CommandText="cp1_delete"cmddele.CommandType=adCmdStoredProccmddele.Parameters.Appendcmdupdate.CreateParameter("cpbh0",adChar,adParamInput,6,cpbh)cmddele.Parameters.Appendcmddele.CreateParameter("flag",adInteger,adParamOutput)'cmddele.Exectutecmddele.ExecuteIfcmddele("flag")=1ThenMsgBox"記錄已被刪除!",vbOKOnly+vbExclamation,"提示"Forcount=0ToCombo1.ListCount-1IfCombo1.List(count)=Combo1.TextAndCombo1.Text<>""ThenCombo1.RemoveItemcountCombo1.Text=""EndIfNextcountForcount=1To3txtitem(count).Text=""NextcountEndIfcnn.CloseEndSelectEndSubPrivateSubcombo1_click()DimstrText,msgtextAsStringDimcpbhAsStringstrText=Combo1.Textcpbh=Combo1.Texttxtsql="select*fromcpwherecpbh='"&strText&"'"Setmrc=executesql(txtsql)IfNotmrc.EOFThentxtitem(1).Text=mrc.Fields(1)txtitem(2).Text=mrc.Fields(2)txtitem(3).Text=mrc.Fields(3)EndIfmrc.CloseCombo1.SetFocusEndSubPrivateSubtxtItem_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=13Thentxtitem(1).SetFocusEndIfCase1IfKeyCode=13Thentxtitem(2).SetFocusEndIfCase2IfKeyCode=13Thentxtitem(3).SetFocusEndIfEndSelectEndSubPrivateSubCombo1_KeyPress(KeyAsciiAsInteger)DimmsgtextAsStringIfKeyAscii=13Andflagadd=1Thentxtsql="select*fromcpwherecpbh='"&Trim(Combo1.Text)&"'"Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenMsgBox"此產(chǎn)品編號(hào)已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrc.CloseElsetxtitem(1).SetFocusEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Activate()DimmsgtextAsStringDimflagAsIntegerIfflagadd=2Orflagadd=3Thenflag=0txtsql="select*fromcp"Setmrc=executesql(txtsql)IfNotmrc.EOFThenDoWhileNotmrc.EOFCombo1.AddItemTrim(mrc.Fields(0))Ifflag=0Thenflag=1EndIfCombo1.Text=mrc.Fields(0)cpbh=Combo1.Texttxtitem(1).Text=mrc.Fields(1)txtitem(2).Text=mrc.Fields(2)txtitem(3).Text=mrc.Fields(3)mrc.MoveNextLoopEndIfmrc.CloseCombo1.SetFocusEndIfEndSubPrivateSubForm_Load()Me.Caption="產(chǎn)品信息"SelectCaseflagaddCase1Me.Caption=Me.Caption&"添加"cmd.Caption="保存(&S)"Case2Me.Caption=Me.Caption&"修改"cmd.Caption="更新(&U)"Case3Me.Caption=Me.Caption&"刪除"cmd.Caption="刪除(&D)"EndSelectEndSubPrivateSubText1_Change()EndSubPrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)EndSub7.2From2窗體PrivateSubcmd_Click()DimicountAsIntegerDimsmegAsStringDimmrccAsADODB.RecordsetDimmsgtextAsStringDimxsbh,xsmc,dq,fzr,dh,mzAsStringDimcnnAsADODB.ConnectionDimcmdupdataAsNewADODB.CommandDimcmddeleAsNewADODB.CommandSelectCaseflagaddCase1IfTrim(Combo1.Text&"")=""Thensmeg="銷售賞編號(hào)"EndIfForicount=0To4IfTrim(txtitem(icount)&"")=""ThenSelectCaseicountCase0smeg="銷售商名稱"Case1smeg="地區(qū)"Case2smeg="負(fù)責(zé)人"Case3smeg="電話"Case4smeg="備注"EndSelectsmeg=smeg&"不能為空!"MsgBoxsmeg,vbOKOnly+vbExclamation,"警告"txtitem(icount).SetFocusExitSubEndIfNexticountxsbh=Combo1.TextCombo1.AddItemTrim(xsbh)xsmc=txtitem(0).Textdq=txtitem(1).Textfzr=txtitem(2).Textdh=txtitem(3).Textmz=txtitem(4).Texttxtsql="select*fromxsswherexsbh='"&Trim(Combo1.Text)&"'"Setmrcc=executesql(txtsql)Ifmrcc.EOF=FalseThenMsgBox"此銷售商的編號(hào)已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrcc.CloseElseSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execxss1_insert'"&xsbh&"','"&xsmc&"','"&dq&"','"&fzr&"','"&dh&"','"&mz&"'"cnn.CloseMsgBox"數(shù)據(jù)已保存!",vbOKOnly+vbExclamation,"提示"Combo1.Text=""Foricount=0To4txtitem(icount).Text=""NexticountEndIfCase2xsbh=Combo1.Textxsmc=txtitem(0).Textdq=txtitem(1).Textfzr=txtitem(2).Textdh=txtitem(3).Textmz=txtitem(4).TextSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execxss_update'"&xsbh&"','"&xsmc&"','"&dq&"','"&fzr&"','"&dh&"','"&mz&"',"&flagcnn.CloseIfflag=1ThenMsgBox"數(shù)據(jù)已更新!",vbOKOnly+vbExclamation,"提示"ElseMsgBox"數(shù)據(jù)更新不成功",vbOKOnly+vbExclamation,"提示"cnn.CloseEndIfCase3xsbh=Combo1.TextSetcnn=NewADODB.Connectioncnn.OpenconnectstringSetcmddele.ActiveConnection=cnncmddele.CommandText="xss_delete"cmddele.CommandType=adCmdStoredProccmddele.Parameters.Appendcmddele.CreateParameter("xsb0",adChar,adParamInput,16,xsbh)cmddele.Parameters.Appendcmddele.CreateParameter("flag",adInteger,adParamOutput)cmddele.ExecuteIfcmddele("flag")=1ThenMsgBox"記錄已被刪除!",vbOKOnly+vbExclamation,"提示"Foricount=0ToCombo1.ListCount-1IfCombo1.List(icount)=Combo1.TextAndCombo1.Text<>""ThenCombo1.RemoveItemicountCombo1.Text=""EndIfNexticountForicoun=0To4txtitem(icoun).Text=""NexticounEndIfcnn.CloseEndSelectEndSubPrivateSubcmdexit_Click()UnloadMeEndSubPrivateSubcombo1_click()Dimxsbh,msgtextAsStringDimiAsIntegerxsbh=Combo1.Texttxtsql="select*fromxsswherexsbh='"&xsbh&"'"Setmrc=executesql(txtsql)IfNotmrc.EOFThenFori=0To4IfNotIsNull(mrc.Fields(i+1))Thentxtitem(i).Text=mrc.Fields(i+1)Elsetxtitem(i).Text=""EndIfNextiEndIfmrc.CloseEndSubPrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=13Thentxtitem(1).SetFocusEndIfCase1IfKeyCode=13Thentxtitem(2).SetFocusEndIfCase2IfKeyCode=13Thentxtitem(3).SetFocusEndIfCase3IfKeyCode=13Thentxtitem(4).SetFocusEndIfEndSelectEndSubPrivateSubCombo1_KeyPress(KeyAsciiAsInteger)DimmsgtextAsStringIfKeyAscii=13Andflagadd=1Thentxtsql="select*fromxsswherexsbh=""&trim(combo1.text)&"""Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenMsg

溫馨提示

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

評(píng)論

0/150

提交評(píng)論