數(shù)據(jù)庫課程設(shè)計(jì)--超市管理系統(tǒng)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  第1節(jié) 課程設(shè)計(jì)背景及意義</p><p><b>  1.1課程設(shè)計(jì)背景</b></p><p>  隨著我國改革開放的不斷深入、經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存發(fā)展,要想在激烈的市場競爭中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的。作為現(xiàn)代社會(huì)的一部分,超市必須適應(yīng)社會(huì)的發(fā)展,因此實(shí)現(xiàn)超市的信息化管理是很有必要的。 在傳統(tǒng)的手工管理中,往

2、往是用人工清點(diǎn)的方式來掌握超市中現(xiàn)有的商品,使用手工記賬的方式來掌握商品的進(jìn)貨和銷售情況。這種方式在商品數(shù)量較少、商品庫存變換少的情況下,不失為一種較好的方法。但是,在目前的大中型超市中,往往需要處理的商品種類數(shù)以千計(jì),而且每天所發(fā)生的進(jìn)貨和銷售情況紛繁復(fù)雜。如果要借助人工來實(shí)現(xiàn)這一系列數(shù)據(jù)的記錄和管理,工作量將非常巨大,而且容易出現(xiàn)錯(cuò)誤,造成管理上的混亂,更何況還需要對(duì)商品的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成

3、熟,其強(qiáng)大的功能已被人們所認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)超市信息進(jìn)行管理有著手工管理所無法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高超市管理的效率,也能使超市步入科學(xué)化、正規(guī)化的管理?;?lt;/p><p><b>  1.2課程設(shè)計(jì)意義</b></p>

4、<p>  超市管理系統(tǒng)用計(jì)算機(jī)管理超市庫存進(jìn)出管理和銷售的一種計(jì)算機(jī)應(yīng)用技術(shù)的創(chuàng)新,在計(jì)算機(jī)還未普及之前庫存管理和銷售都是由工作人員手工書寫的方式來操作的?,F(xiàn)在一般的超市都采用計(jì)算機(jī)智能化管理,采用計(jì)算機(jī)作為工具的實(shí)用的計(jì)算機(jī)社區(qū)超市管理程序來幫助管理員進(jìn)行更有效的超市管理工作。社區(qū)超市管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和

5、完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。</p><p>  作為國內(nèi)市場的一些中小型超市,它們在信息化過程中的步伐要落后于大中型超市,而對(duì)于這些企業(yè)的資源管理,信息的存儲(chǔ)和處理也顯得迫切需要,要適應(yīng)市場競爭,就需要有高效的處理方式和管理方法,因此加快超市的信息化進(jìn)程是必可少的。 超市管理系統(tǒng)依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來管理超市,從而節(jié)省了大量的人力、物力,改善了員

6、工的工作條件,減輕了勞動(dòng)強(qiáng)度,并且能夠快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對(duì)市場的變化做出相應(yīng)的決策,加快超市經(jīng)營管理效。</p><p><b>  第2節(jié) 需求分析</b></p><p><b>  2.1業(yè)務(wù)需求</b></p><p>  通過與超市人員的交流,發(fā)現(xiàn)超市管理系統(tǒng)需要滿

7、足來自多個(gè)不同用戶的要求。在超市中,按照超市人員的職能分為六大類,分別是銷售員、采購員、經(jīng)理、系統(tǒng)管理員、倉庫管理員、顧客(注冊和非注冊)。系統(tǒng)管理員的要求是掌握超市內(nèi)部的所有業(yè)務(wù),包括銷售信息、進(jìn)貨信息、商品信息,具有超級(jí)用戶的所有權(quán)限,對(duì)超市實(shí)行全面管理。銷售員的要求是查看所有銷售信息,查看符合條件的銷售信息以及增加銷售單。采購員的要求是查看所有采購信息,查看符合條件的采購信息,增加采購訂單以及更改進(jìn)退貨狀態(tài)。超市經(jīng)理的要求是能夠查

8、看進(jìn)貨信息、銷售信息以及庫存信息。而顧客是超市的上帝,超市一切都是為顧客服務(wù)。本系統(tǒng)中顧客要求是可以現(xiàn)場買商品,采購信息有采購編號(hào)、采購日期、商品廠商、采購員、商品的價(jià)格、商品規(guī)格、進(jìn)貨商品的數(shù)量等屬性。同時(shí)超市還可以進(jìn)退貨并有相應(yīng)的付款表。通過與超市管理人員進(jìn)行反復(fù)的討論,確定系統(tǒng)應(yīng)該實(shí)現(xiàn)以下功能:</p><p>  (1)對(duì)商品信息的變動(dòng)進(jìn)行處理 在商品的進(jìn)銷過程巾,商品信息總是在不斷變化的。比如商品價(jià)格的

9、調(diào)整、商品信息的修改、新商品信息的增加以及商品信息的刪除,因此設(shè)計(jì)系統(tǒng)時(shí)必須考慮到這些情況。</p><p>  (2)用戶信息的變動(dòng)進(jìn)行處理。需考慮到新會(huì)員的注冊和已注冊,設(shè)置會(huì)員折扣用戶的信息的修改及刪除。</p><p>  (3)對(duì)顧客采購信息的變動(dòng)進(jìn)行處理。采購信息的過程中采購信息也在不斷發(fā)生改變,因此也要充分考慮。</p><p>  (4)查詢及統(tǒng)計(jì)功

10、能。要求可以根據(jù)指定的條件對(duì)商品信息、用戶信息和采購信息、銷售信息進(jìn)行查詢和統(tǒng)計(jì)。</p><p> ?。?)對(duì)庫存商品信息的變動(dòng)進(jìn)行處理。要求可以根據(jù)庫存的狀態(tài)進(jìn)行相應(yīng)的進(jìn)退貨。</p><p><b>  2.2功能需求</b></p><p>  2.1.1零售前臺(tái)(POS)管理系統(tǒng)</p><p>  商品錄入:

11、根據(jù)超巿業(yè)務(wù)特點(diǎn)制定相關(guān)功能,可以通過輸入唯一編號(hào)、掃描條形碼、商品名稱等來實(shí)現(xiàn)精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準(zhǔn)確快速地進(jìn)行商品掃描錄入。</p><p>  收銀業(yè)務(wù):通過掃描條形碼或者直接輸入商品名稱(對(duì)于同類多件商品采用一次錄入加數(shù)量的方式)自動(dòng)計(jì)算本次交易的總金額。在顧客付款后,自動(dòng)計(jì)算找零,同時(shí)打印交易清單(包括交易的流水賬號(hào)、每類商品的商品名、數(shù)量、

12、該類商品的總金額、交易的時(shí)間、負(fù)責(zé)本次收銀的員工號(hào))。如果顧客是本店會(huì)員并持有本人會(huì)員卡,則在交易前先掃描會(huì)員卡,并對(duì)所購物品全部實(shí)行95折優(yōu)惠,并將所購物品的總金額累計(jì)到該會(huì)員的總消費(fèi)金額中。 會(huì)員卡的有效期限為一年,滿一年未續(xù)卡者,該會(huì)員卡將被注銷。</p><p>  安全性:OS登陸、退出、換班與操作鎖定等權(quán)限驗(yàn)證保護(hù);斷電自動(dòng)保護(hù)最大限度防止意外及惡意非法操作。 </p><p>

13、;  獨(dú)立作業(yè):有的斷網(wǎng)收銀即在網(wǎng)絡(luò)服務(wù)器斷開或網(wǎng)絡(luò)不通的情況下,收銀機(jī)仍能正常作業(yè)</p><p>  2.1.2后臺(tái)管理系統(tǒng)</p><p>  進(jìn)貨管理: 根據(jù)銷售情況及庫存情況,自動(dòng)制定進(jìn)貨計(jì)劃(亦可手工制定修改),可以避免盲目進(jìn)貨造成商品積壓。 按計(jì)劃單有選擇性地進(jìn)行自動(dòng)入庫登記。 綜合查詢打印計(jì)劃進(jìn)貨與入庫記錄及金額。</p><p>  銷售管理: 商

14、品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細(xì)記錄、各地收銀員收銀記錄以及交結(jié)賬情況等。 按多種方式統(tǒng)計(jì)生成銷售排行榜,靈活察看和打印商品銷售日、月、年報(bào)表。</p><p>  庫存管理: 綜合查詢庫存明細(xì)記錄。 庫存狀態(tài)自動(dòng)告警提示。如庫存過剩、少貨、缺貨等。軟件為您預(yù)警,避免庫存商品積壓損失和缺貨。 庫存自動(dòng)盤點(diǎn)計(jì)算。</p><p>  人員管理:員工,會(huì)員,供

15、應(yīng)商,廠商等基本信息登記管理。</p><p><b>  2.3數(shù)據(jù)需求</b></p><p>  2.3.1頂層數(shù)據(jù)流程</p><p>  2.3.2第0層數(shù)據(jù)流程</p><p>  2.3.3第1層數(shù)據(jù)流程</p><p><b>  第3節(jié)概要設(shè)計(jì)</b><

16、;/p><p><b>  3.1概念結(jié)構(gòu)設(shè)計(jì)</b></p><p>  3.1.1員工信息E-R圖設(shè)計(jì)</p><p>  3.1.2商品信息E-R圖設(shè)計(jì)</p><p>  3.1.3供應(yīng)商信息E-R圖設(shè)計(jì)</p><p>  3.1.4商品銷售信息E-R圖設(shè)計(jì)</p><p

17、>  3.1.5出庫/入庫信息E-R圖設(shè)計(jì)</p><p><b>  3.2邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  3.2.1系統(tǒng)關(guān)系模型</p><p>  商品信息表(商品編號(hào),商品名稱,價(jià)格,條形碼,數(shù)量,廠商編號(hào),供貨商編號(hào))</p><p>  員工表(用戶編號(hào),用戶名稱,用戶密碼,用戶類型)<

18、/p><p>  商品銷售表(銷售編號(hào),商品編號(hào),銷售數(shù)量,銷售金額,銷售日期)</p><p>  入庫/出庫表(入庫編號(hào),入庫商品編號(hào),入庫數(shù)量,入庫日期)</p><p>  供貨商表(供貨商編號(hào),供貨商名稱,供貨商地址,供貨商電話)</p><p>  廠商表(廠商編號(hào),廠商名稱,廠商地址,廠商電話)</p><p&g

19、t;  3.3數(shù)據(jù)庫模式定義</p><p>  商品信息表(MerchInfo)</p><p>  員工表(Menber)</p><p><b>  銷售表(Sale)</b></p><p>  入庫/出庫紀(jì)錄表(Stock)</p><p>  供貨商表(Provide)</p&g

20、t;<p>  廠商表(Provide)</p><p>  第4節(jié) 數(shù)據(jù)庫實(shí)施階段</p><p><b>  4.1安全性設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。數(shù)據(jù)庫的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操

21、作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。 </p><p>  信息系統(tǒng)盡管功能強(qiáng)大,技術(shù)先進(jìn),但由于受到自身體系結(jié)構(gòu),設(shè)計(jì)思路以及運(yùn)行機(jī)制 等限制,也隱含許多不安全因素。常見因素有:數(shù)據(jù)的輸入,輸出,存取與備份,源程序以及應(yīng)用軟件,數(shù)據(jù)庫,操作系統(tǒng)等漏洞或缺陷,硬件,通信部分的漏洞,企業(yè)內(nèi)部人員的因素,病毒,“黑客”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,必須考慮如下問題:為保證安全,不

22、致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火,盜或其他形式的人為破壞。 </p><p><b>  系統(tǒng)要能重建</b></p><p><b>  系統(tǒng)應(yīng)該是可審查的</b></p><p>  系統(tǒng)應(yīng)能進(jìn)行有效控制,抗干擾能力強(qiáng)</p><p>  系統(tǒng)使用者的使用權(quán)限是可識(shí)

23、別的</p><p>  SQL Server提供多層安全。在最外層,SQL Server的登錄安全性直接集成到Widows NT/2000的安全上,它允許Windows NT服務(wù)器驗(yàn)證用戶。使用這種"Windows 驗(yàn)證"SQL Server就可以利用Windows NT/2000的安全特性,例如安全驗(yàn)證和密碼加密、審核、密碼過期、最短密碼長度,以及在多次登錄請求無效后鎖定帳號(hào)。</p

24、><p><b>  4.2完整性設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫完整性由各種各樣的完整性約束來保證,因此可以說數(shù)據(jù)庫完整性設(shè)計(jì)就是數(shù)據(jù)庫完整性約束的設(shè)計(jì)。數(shù)據(jù)庫完整性約束可以通過DBMS或應(yīng)用程序來實(shí)現(xiàn),基于DBMS的完整性約束作為模式的一部分存入數(shù)據(jù)庫中。通過DBMS實(shí)現(xiàn)的數(shù)據(jù)庫完整性按照數(shù)據(jù)庫設(shè)計(jì)步驟進(jìn)行設(shè)計(jì),而

25、由應(yīng)用軟件實(shí)現(xiàn)的數(shù)據(jù)庫完整性則納入應(yīng)用軟件設(shè)計(jì)</p><p>  數(shù)據(jù)庫完整性對(duì)于數(shù)據(jù)庫應(yīng)用系統(tǒng)非常關(guān)鍵,其作用主要體現(xiàn)在以下幾個(gè)方面:</p><p>  1.?dāng)?shù)據(jù)庫完整性約束能夠防止合法用戶使用數(shù)據(jù)庫時(shí)向數(shù)據(jù)庫中添加不合語義的數(shù)據(jù)。</p><p>  2.利用基于DBMS的完整性控制機(jī)制來實(shí)現(xiàn)業(yè)務(wù)規(guī)則,易于定義,容易理解,而且可以降低應(yīng)用程序的復(fù)雜性,提高應(yīng)

26、用程序的運(yùn)行效率。同時(shí),基于DBMS的完整性控制機(jī)制是集中管理的,因此比應(yīng)用程序更容易實(shí)現(xiàn)數(shù)據(jù)庫的完整性。</p><p>  3.合理的數(shù)據(jù)庫完整性設(shè)計(jì),能夠同時(shí)兼顧數(shù)據(jù)庫的完整性和系統(tǒng)的效能。比如裝載大量數(shù)據(jù)時(shí),只要在裝載之前臨時(shí)使基于DBMS的數(shù)據(jù)庫完整性約束失效,此后再使其生效,就能保證既不影響數(shù)據(jù)裝載的效率又能保證數(shù)據(jù)庫的完整性。</p><p>  4.在應(yīng)用軟件的功能測試中,

27、完善的數(shù)據(jù)庫完整性有助于盡早發(fā)現(xiàn)應(yīng)用軟件的錯(cuò)誤。</p><p>  在實(shí)施數(shù)據(jù)庫完整性設(shè)計(jì)的時(shí)候,有一些基本的原則需要把握:</p><p>  1.根據(jù)數(shù)據(jù)庫完整性約束的類型確定其實(shí)現(xiàn)的系統(tǒng)層次和方式,并提前考慮對(duì)系統(tǒng)性能的影響。一般情況下,靜態(tài)約束應(yīng)盡量包含在數(shù)據(jù)庫模式中,而動(dòng)態(tài)約束由應(yīng)用程序?qū)崿F(xiàn)。</p><p>  2.實(shí)體完整性約束、參照完整性約束是關(guān)系

28、數(shù)據(jù)庫最重要的完整性約束,在不影響系統(tǒng)關(guān)鍵性能的前提下需盡量應(yīng)用。用一定的時(shí)間和空間來換取系統(tǒng)的易用性是值得的。</p><p><b>  第5節(jié) 詳細(xì)設(shè)計(jì)</b></p><p><b>  5.1模塊簡述</b></p><p><b>  系統(tǒng)總體結(jié)構(gòu)</b></p><

29、p>  5.2模塊設(shè)計(jì)與實(shí)現(xiàn)(部分界面)</p><p><b>  5.2.0登陸界面</b></p><p>  5.2.1員工登陸界面</p><p>  5.2.2商品信息界面</p><p>  5.2.3員工信息界面</p><p>  5.2.4供應(yīng)商信息界面</p>

30、;<p><b>  第6節(jié) 總結(jié)</b></p><p>  通過此次的課程設(shè)計(jì),我學(xué)到了很多知識(shí),跨越了傳統(tǒng)方式下的教與學(xué)的體制束縛,在設(shè)計(jì)報(bào)告的寫作過程中,通過查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的傳統(tǒng)的學(xué)習(xí)模式下,我們可能會(huì)記住很多的書本知識(shí),但是通過課程設(shè)計(jì),我們

31、學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問題。</p><p>  通過這次超市管理系統(tǒng)課程設(shè)計(jì),讓我充分運(yùn)用自己所學(xué)的知識(shí),讓我明白只有單純的理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有通過實(shí)際的鍛煉才能更好的運(yùn)用所掌握的基礎(chǔ)知識(shí),才能在原有的基礎(chǔ)上提升自己的能力,提高自己解決問題的能力。在這短短的幾天里,查閱有關(guān)的C++學(xué)習(xí)資料,設(shè)計(jì)規(guī)則,代碼的編寫及到最后的調(diào)試。在設(shè)計(jì)過程中,通過對(duì)控件

32、事件的處理,界面的布局,代碼的調(diào)試,充分鍛煉了自己的思維,獲得了充分的實(shí)際經(jīng)驗(yàn),提高了處理問題的能力,同時(shí)也提高了對(duì)問題思考的應(yīng)急能力和抗壓力的能力。</p><p>  經(jīng)過幾天的努力,雖然設(shè)計(jì)已經(jīng)完成,但仍然有很多模塊和功能要完善,存在很多美中不足之處。但是基本上還能滿足小型超市的管理。在設(shè)計(jì)報(bào)告的寫作過程中也學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先我明白了做學(xué)問要一絲不茍,對(duì)于出現(xiàn)的任何問題和偏差都不要輕視

33、,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅(jiān)持下去就可以找到思路去解決問題的,在遇到問題時(shí),有必要向老師和同學(xué)請教,合作溝通的意義是巨大的。</p><p><b>  [參考文獻(xiàn)]</b></p><p>  Microsoft SQL Server 2000 聯(lián)機(jī)叢書</p><p>  金林樵

34、主編 SQL Server 2000程序設(shè)計(jì)實(shí)訓(xùn)教程 科學(xué)出版社 2006年</p><p>  李言編著 Visual C++項(xiàng)目開發(fā)全程實(shí)錄 清華出版社 2008年</p><p>  姚領(lǐng)田編著 精通MFC程序設(shè)計(jì) 人民郵電出版社 2006年</p><p>  苗雪蘭編著 數(shù)據(jù)庫原理及應(yīng)用教程(2版)機(jī)械工業(yè)出版社 2005年</p&

35、gt;<p><b>  附件:</b></p><p>  ///////////登陸程序////////////////////////////////////////////////////////////////////</p><p>  void yuangongdenglu::Ondenglu() </p><p>

36、<b>  {</b></p><p>  UpdateData(1);</p><p>  if(m_bianhao=="")</p><p><b>  {</b></p><p>  MessageBox("請輸入賬號(hào)!");</p>&l

37、t;p><b>  return;</b></p><p><b>  }</b></p><p>  if(m_mima=="")</p><p><b>  {</b></p><p>  MessageBox("請輸入密碼!"

38、);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CAdocon adoconn;</p><p>  adoconn.OnInitAdocon();</p><p>  _bstr_t sql;</

39、p><p>  sql="select * from 員工信息表 where 員工編號(hào)='"+m_bianhao+"' and 員工密碼='"+m_mima+"'";</p><p>  _RecordsetPtr m_precordset;</p><p>  m_pre

40、cordset=adoconn.GetRecordSet(sql);</p><p>  if(m_precordset->adoEOF==0)</p><p><b>  {</b></p><p>  GetDlgItem(ID_rukuxitong)->EnableWindow(FALSE);</p><p

41、><b>  }</b></p><p>  UpdateData(0);</p><p><b>  }</b></p><p>  ///////////添加程序//////////////////////////////////////////////////////////////////////</p

42、><p>  void Cgongyingshanxinxi::OnButadd() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(1); </p&

43、gt;<p>  CAdocon adoconn;</p><p>  adoconn.OnInitAdocon();//調(diào)試</p><p>  _bstr_t sqltemp;</p><p>  sqltemp="insert into 供應(yīng)商信息表 (供應(yīng)商編號(hào), 供應(yīng)商名稱, 供應(yīng)商地址, 供應(yīng)商電話) values (

44、9;"+m_gysbh+"','"+m_gysmc+"','"+m_gysdz+"','"+m_gysdh+"')";</p><p>  adoconn.ExecuteSQL(sqltemp);</p><p>  adoconn.exitco

45、n();</p><p>  UpdateData(0);</p><p>  MessageBox("添加成功");</p><p><b>  OnOK();</b></p><p><b>  }</b></p><p>  ////////////

46、////刪除程序//////////////////////////////////////////////////////////////////</p><p>  void CYuangongxinxi::OnButdel() </p><p><b>  {</b></p><p>  // TODO: Add your control

47、 notification handler code here</p><p>  UpdateData(TRUE);</p><p>  CAdocon adoconn;</p><p>  adoconn.OnInitAdocon();//調(diào)試</p><p>  _bstr_t sqltemp;</p><p>

48、  sqltemp="delete from 員工信息表 where 員工姓名='"+m_XM+"' ";</p><p>  if(m_XM=="")</p><p>  MessageBox("員工姓名不為空");</p><p>  if(adoconn.Exe

49、cuteSQL(sqltemp)==TRUE)</p><p><b>  {</b></p><p>  MessageBox("刪除成功");</p><p><b>  }</b></p><p>  else MessageBox("刪除失敗");&

50、lt;/p><p>  adoconn.exitcon();</p><p><b>  OnOK();</b></p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  ///////////////////查詢程序/

51、//////////////////////////////////////////////////////////////</p><p>  void Cshangpingxinxi::OnButquery() </p><p><b>  {</b></p><p>  UpdateData(1);</p><p>

52、;  // TODO: Add your control notification handler code here</p><p>  CAdocon adoconn;</p><p>  adoconn.OnInitAdocon();</p><p>  _bstr_t sql;</p><p>  sql="select

53、* from 商品信息表 where 商品編號(hào)='"+m_bianhao+"' ";</p><p>  _RecordsetPtr m_precordset;</p><p>  m_precordset=adoconn.GetRecordSet(sql);</p><p>  //GetDlgItem(

54、IDC_BUTTON2)->EnableWindow(FALSE);</p><p>  if(m_precordset->adoEOF==0)</p><p><b>  {</b></p><p>  m_mingcheng= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("

55、;商品名稱");</p><p>  m_gysbianhao= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("供貨商編號(hào)");</p><p>  m_jiage= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("價(jià)格");</p>

56、<p>  m_csbianhao= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("廠商編號(hào)");</p><p>  m_tiaoxingma= (LPCTSTR)(_bstr_t)m_precordset->GetCollect("條形碼");</p><p>  UpdateDa

57、ta(0);</p><p>  adoconn.exitcon();</p><p><b>  }</b></p><p><b>  }</b></p><p>  ///////Adocon.cpp: implementation of the CAdocon class./////////

58、/////////////////////////</p><p>  void CAdocon::OnInitAdocon()</p><p><b>  {</b></p><p>  ::CoInitialize(NULL);</p><p><b>  try</b></p>

59、<p><b>  {</b></p><p>  m_pConnection.CreateInstance("ADODB.Connection");</p><p>  bstr_t strConnect = "driver={SQL Server}; Server=127.0.0.1; DATABASE=SuperMaket

60、; UID=admin;PWD=123;";</p><p>  m_pConnection->Open(strConnect,"","",adModeUnknown);</p><p>  //們經(jīng)常使用的只是前面用#import語句引用類型庫時(shí),生成的包裝類.tlh中聲明的智能指針中的三個(gè),它們分別是_ConnectionPtr、

61、_RecordsetPtr和_CommandPtr。下面分別對(duì)它們的使用方法進(jìn)行介紹:</p><p>  //_ConnectionPtr接口返回一個(gè)記錄集或一個(gè)空指針。通常使用它來創(chuàng)建一個(gè)數(shù)據(jù)連接或執(zhí)行一條不返回任何結(jié)果的SQL語句,如一個(gè)存儲(chǔ)過程。使用 _ConnectionPtr接口返回一個(gè)記錄集不是一個(gè)好的使用方法。對(duì)于要返回記錄的操作通常用_RecordserPtr來實(shí)現(xiàn)。而用 _Connection

62、Ptr操作時(shí)要想得到記錄條數(shù)得遍歷所有記錄,而用_RecordserPtr時(shí)不需要。</p><p>  // _CommandPtr接口返回一個(gè)記錄集。它提供了一種簡單的方法來執(zhí)行返回記錄集的存儲(chǔ)過程和SQL語句。在使用_CommandPtr接口時(shí),你可以利用全局 _ConnectionPtr接口,也可以在_CommandPtr接口里直接使用連接串。如果你只執(zhí)行一次或幾次數(shù)據(jù)訪問操作,后者是比較好的選擇。但如果

63、你要頻繁訪問數(shù)據(jù)庫,并要返回很多記錄集,那么,你應(yīng)該使用全局_ConnectionPtr接口創(chuàng)建一個(gè)數(shù)據(jù)連接,然后使用_CommandPtr 接口執(zhí)行存儲(chǔ)過程和SQL語句。</p><p>  //_RecordsetPtr是一個(gè)記錄集對(duì)象。與以上兩種對(duì)象相比,它對(duì)記錄集提供了更多的控制功能,如記錄鎖定,游標(biāo)控制等。同_CommandPtr接口一樣,它不一定要使用一個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)連接,可以用一個(gè)連接串代替連接指

64、針賦給 _RecordsetPtr的connection成員變量,讓它自己創(chuàng)建數(shù)據(jù)連接。如果你要使用多個(gè)記錄集,最好的方法是同Command對(duì)象一樣使用已經(jīng)創(chuàng)建了數(shù)據(jù)連接的全局_ConnectionPtr接口,然后使用_RecordsetPtr執(zhí)行存儲(chǔ)過程和SQL語句。</p><p><b>  }</b></p><p>  catch(_com_error e)

65、</p><p><b>  {</b></p><p>  TRACE(e.Description());</p><p>  //throw new CADOException("連接數(shù)據(jù)庫失敗");</p><p>  //AfxMessageBox("連接數(shù)據(jù)庫失敗");&

66、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  BOOL CAdocon::ExecuteSQL(_bstr_t bstrSQL)//執(zhí)行sql語句</p><p><b>  {</b></p><p&g

67、t;<b>  try</b></p><p><b>  {</b></p><p>  if(m_pConnection == NULL)</p><p>  OnInitAdocon();</p><p>  m_pConnection->Execute(bstrSQL,NULL,adC

68、mdText);</p><p>  return true;</p><p><b>  }</b></p><p>  catch(_com_error e)</p><p>  {//AfxMessageBox("失敗");</p><p>  AfxMessageBox

69、(e.Description());</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //執(zhí)行查詢</b></p><p>  _Recordse

70、tPtr& CAdocon::GetRecordSet(_bstr_t bstrSQL)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  // 連接數(shù)據(jù)庫,如果Connec

71、tion對(duì)象為空,則重新連接數(shù)據(jù)庫</p><p>  if(m_pConnection==NULL)</p><p>  OnInitAdocon();</p><p>  // 創(chuàng)建記錄集對(duì)象</p><p>  //m_pRecordset.CreateInstance(__uuidof(Recordset));</p>

72、<p>  m_pRecordset.CreateInstance("ADODB.Recordset");</p><p>  // 取得表中的記錄</p><p>  m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adC

73、mdText);</p><p><b>  }</b></p><p><b>  // 捕捉異常</b></p><p>  catch(_com_error e)</p><p><b>  {</b></p><p><b>  //

74、顯示錯(cuò)誤信息</b></p><p>  AfxMessageBox(e.Description());</p><p><b>  }</b></p><p><b>  // 返回記錄集</b></p><p>  return m_pRecordset;</p>&l

75、t;p><b>  }</b></p><p>  void CAdocon::exitcon()</p><p><b>  {</b></p><p>  if(m_pRecordset!=NULL)</p><p>  m_pRecordset->Close();</p>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論