《信息系統(tǒng)開發(fā)實(shí)訓(xùn)》實(shí)訓(xùn)指導(dǎo)書_第1頁
《信息系統(tǒng)開發(fā)實(shí)訓(xùn)》實(shí)訓(xùn)指導(dǎo)書_第2頁
《信息系統(tǒng)開發(fā)實(shí)訓(xùn)》實(shí)訓(xùn)指導(dǎo)書_第3頁
《信息系統(tǒng)開發(fā)實(shí)訓(xùn)》實(shí)訓(xùn)指導(dǎo)書_第4頁
《信息系統(tǒng)開發(fā)實(shí)訓(xùn)》實(shí)訓(xùn)指導(dǎo)書_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上黎明職業(yè)大學(xué)計(jì)算機(jī)與信息工程系信息系統(tǒng)開發(fā)實(shí)訓(xùn)實(shí)訓(xùn)指導(dǎo)書2011年11月目 錄信息系統(tǒng)開發(fā)實(shí)訓(xùn)實(shí)訓(xùn)大綱適用:計(jì)算機(jī)信息管理學(xué)時:60 學(xué)分2一、實(shí)訓(xùn)目的:信息系統(tǒng)開發(fā)實(shí)訓(xùn)是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的重要實(shí)踐環(huán)節(jié)。通過實(shí)訓(xùn)使學(xué)生能夠更進(jìn)一步的領(lǐng)會管理信息系統(tǒng)分析、設(shè)計(jì)與實(shí)現(xiàn)的基本知識,了解程序開發(fā)的一般過程,熟悉和掌握程序開發(fā)的基本流程和注意事項(xiàng),培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識分析和解決實(shí)際問題的能力,提高學(xué)生的綜合設(shè)計(jì)和實(shí)踐能力,為今后開發(fā)程序打下基礎(chǔ)。二、實(shí)訓(xùn)內(nèi)容和要求(一)實(shí)訓(xùn)內(nèi)容1、用戶需求分析 根據(jù)所選題目進(jìn)行認(rèn)真地需求分析,用戶需求分析的信息包括: l 信息需求,用戶要從數(shù)

2、據(jù)庫獲得的信息內(nèi)容。信息需求定義了新系統(tǒng)應(yīng)該提供的所有信息;應(yīng)描述清楚系統(tǒng)中數(shù)據(jù)的性質(zhì)及其聯(lián)系。 l 處理需求,即完成什么處理功能及處理的方式。處理需求定義了新系統(tǒng)數(shù)據(jù)處理的操作;應(yīng)描述操作執(zhí)行的場合、操作對數(shù)據(jù)的影響等等。 l 安全性和完整性要求。在定義信息需求和處理需求的同時必須相應(yīng)確定安全性、完整性。2、數(shù)據(jù)庫結(jié)構(gòu)的確定 、根據(jù)項(xiàng)目要求設(shè)計(jì)ER圖、根據(jù)ER圖設(shè)計(jì)數(shù)據(jù)庫的關(guān)系模式、進(jìn)行規(guī)范化處理后給出各關(guān)系之間的關(guān)聯(lián)關(guān)系、能根據(jù)功能合理設(shè)計(jì)視圖、存儲過程與觸發(fā)器、在DBMS(如SQL Server 2005)中建立數(shù)據(jù)庫,并產(chǎn)生SQL腳本;3、系統(tǒng)總體方案設(shè)計(jì) 、畫出詳細(xì)的總體框圖 、說明

3、各模塊的功能、建立某種形式的報表,實(shí)現(xiàn)對數(shù)據(jù)的統(tǒng)計(jì)與輸出;4、程序設(shè)計(jì)部分 按總體方案設(shè)計(jì)與業(yè)務(wù)邏輯要求進(jìn)行應(yīng)用系統(tǒng)開發(fā)。要求: l 程序能正確運(yùn)行l(wèi) 用戶界面友好l 程序功能完善l 程序可進(jìn)行權(quán)限控制l 方便用戶使用 *5、對于C/S應(yīng)用系統(tǒng):應(yīng)能夠生成應(yīng)用程序和可執(zhí)行文件,并在相應(yīng)環(huán)境下正確運(yùn)行;最終要求系統(tǒng)調(diào)試并打包成為最終軟件可安裝運(yùn)行。B/S系統(tǒng):應(yīng)能正確配置站點(diǎn)提供服務(wù)。(二)實(shí)訓(xùn)總體要求1、實(shí)訓(xùn)以小組的形式進(jìn)行,自由分組,每個小組不得多于4人。各小組在實(shí)訓(xùn)進(jìn)行之前上報組長、成員及項(xiàng)目名稱。2. 每個小組要根據(jù)實(shí)際開發(fā)內(nèi)容進(jìn)一步明確任務(wù),小組組長負(fù)責(zé)工作安排,保證每個同學(xué)積極參與到

4、項(xiàng)目開發(fā)過程。要有計(jì)劃地定時定量地完成任務(wù),體現(xiàn)出團(tuán)隊(duì)精神。3. 認(rèn)真填寫實(shí)訓(xùn)日志。4. 在開發(fā)各環(huán)節(jié)中撰寫相關(guān)的技術(shù)文檔,最后以小組為單位上交實(shí)訓(xùn)報告和源程序清單(以附錄形式),正文字?jǐn)?shù)不少于2000字(不包括附錄),要求層次清楚、整潔規(guī)范、不得相互抄襲,凡正文內(nèi)容有整段相同者一律以作弊論處。5. 最后遞交一個可以運(yùn)行的系統(tǒng)。6. 明確實(shí)訓(xùn)的目的和重要性,認(rèn)真領(lǐng)會實(shí)訓(xùn)的題目,讀懂實(shí)訓(xùn)指導(dǎo)書的要求,學(xué)會設(shè)計(jì)的基本方法與步驟,積極認(rèn)真地做好準(zhǔn)備工作。7. 實(shí)訓(xùn)中,學(xué)會如何運(yùn)用前修知識與收集、歸納相關(guān)資料解決具體問題的方法。三、先修課程信息系統(tǒng)分析與設(shè)計(jì)數(shù)據(jù)庫原理與應(yīng)用ASP.NET網(wǎng)站建設(shè)C#程

5、序設(shè)計(jì)四教學(xué)時間參考分配表序號實(shí)訓(xùn)內(nèi)容學(xué)時分配總學(xué)時理論學(xué)時實(shí)踐學(xué)時1選題、需求分析、系統(tǒng)設(shè)計(jì)結(jié)合在系統(tǒng)分析與設(shè)計(jì)課內(nèi)完成2ADO.net核心對象介紹4223ADO.NET調(diào)用帶參數(shù)的SQL語句或存儲過程6334數(shù)據(jù)庫設(shè)計(jì)122105公共數(shù)據(jù)處理模塊6156登錄窗體與主界面/首頁實(shí)現(xiàn)6247具體功能模塊的實(shí)現(xiàn)與測試14148系統(tǒng)測試、填寫實(shí)訓(xùn)報告669總結(jié)與答辯66合計(jì)601644五考核辦法由指導(dǎo)教師根據(jù)學(xué)生完成實(shí)訓(xùn)任務(wù)的情況(實(shí)訓(xùn)報告的質(zhì)量10%,答辯情況10%,實(shí)訓(xùn)過程中的工作態(tài)度20%,系統(tǒng)開發(fā)情況60%)綜合打分。成績評定實(shí)行優(yōu)秀、良好、中等、及格和不及格五個等級。優(yōu)秀者人數(shù)一般不超過

6、總?cè)藬?shù)的20%。其中工作態(tài)度考核內(nèi)容包括:是否按進(jìn)度要求完成實(shí)訓(xùn)科目;是否認(rèn)真填寫實(shí)訓(xùn)日記;是否能與教師、同學(xué)較好溝通過等。六、參考文獻(xiàn)1數(shù)據(jù)庫系統(tǒng)概論王珊,薩師煊編著 高等教育出版社 2管理信息系統(tǒng)開發(fā)技術(shù) 寧書林等編著 北京理工大學(xué)出版社 3ASP.NET 2.O數(shù)據(jù)庫開發(fā)實(shí)例精粹 郭瑞軍等編著 電子工業(yè)出版社 4Visual C# 2008數(shù)據(jù)庫編程實(shí)訓(xùn)教程 李志中編著 清華大學(xué)出版社附件:1實(shí)訓(xùn)日志模板2課程實(shí)訓(xùn)報告模板3評分標(biāo)準(zhǔn)附件一:實(shí)訓(xùn)日志模板實(shí) 訓(xùn) 日 志實(shí)訓(xùn)日期實(shí)訓(xùn)地點(diǎn)實(shí)訓(xùn)題目實(shí)訓(xùn)目的實(shí)訓(xùn)環(huán)境實(shí)訓(xùn)內(nèi)容及步驟體會與建議教師評語附件二:實(shí)訓(xùn)報告模板黎明職業(yè)大學(xué)課程實(shí)訓(xùn)報告 題目:

7、 (項(xiàng)目名稱) 系 別: 計(jì)算機(jī)與信息工程系 專 業(yè): 計(jì)算機(jī)信息管理 年 級: 2009 學(xué) 號: 姓 名: 任課教師: 填寫日期 2011 年 月 日摘 要關(guān)鍵字正文 (本部份另取一頁開始)1、正文內(nèi)容:完成作業(yè)的計(jì)算機(jī)環(huán)境(軟硬件配置)硬件、軟件:項(xiàng)目名稱:××××××(1)綜述:項(xiàng)目提出及要解決的問題,設(shè)計(jì)思想;(2)項(xiàng)目要實(shí)現(xiàn)的主要功能概要說明完成該項(xiàng)目各組成部分的名稱及其主要功能。及各部分之間的關(guān)系;(3)數(shù)據(jù)庫設(shè)計(jì)的ER圖,數(shù)據(jù)庫、表的結(jié)構(gòu)(4)實(shí)現(xiàn)功能的展示該項(xiàng)目使用說明:輸入操作、各功能使用、輸出操作的提示。(5)測

8、試中發(fā)現(xiàn)的問題(6)課程設(shè)計(jì)的心得體會(7)參考書目2、格式(1)文檔版式:A4,頁邊距:上下為2CM、左右為3CM(2)字體:宋體  五號字(3)1.5倍行距附錄三:本項(xiàng)目的評分標(biāo)準(zhǔn):系統(tǒng)開發(fā)實(shí)訓(xùn)評分標(biāo)準(zhǔn)及評分表項(xiàng) 目評 分 細(xì) 則 及 標(biāo) 準(zhǔn)得分用戶需求分析進(jìn)行了詳細(xì)的用戶信息需求和處理需求分析(3分)對用戶的安全性和完整性要求進(jìn)行了詳細(xì)的分析(2分)數(shù)據(jù)庫模式的設(shè)計(jì)數(shù)據(jù)庫模式的設(shè)計(jì)能滿足用戶的信息需求(5分)數(shù)據(jù)庫的完整性數(shù)據(jù)庫模式考慮了數(shù)據(jù)庫的實(shí)體完整性、域完整性和關(guān)聯(lián)完整性控制;能正確地進(jìn)行數(shù)據(jù)記錄的錄入、更新和刪除(5分)數(shù)據(jù)庫的查詢可進(jìn)行指定數(shù)據(jù)庫的簡單查詢(5分)可進(jìn)

9、行多庫之間的連接查詢(5分)數(shù)據(jù)庫的統(tǒng)計(jì)能按用戶的要求進(jìn)行各種數(shù)據(jù)的統(tǒng)計(jì)及打印出統(tǒng)計(jì)報表(5分)數(shù)據(jù)庫編程能合理使用視圖、存儲過程和觸發(fā)器(5分)應(yīng)用軟件的功能模塊程序能正確運(yùn)行、可進(jìn)行權(quán)限控制(5分)應(yīng)用軟件的功能合理、完善,達(dá)到用戶的處理需求(5分)應(yīng)用軟件的界面合理友好、用戶操作方便(5分)錯誤處理具有一定的容錯性,當(dāng)系統(tǒng)出錯時,能自己處理而不是交給系統(tǒng)(5分)軟件的打包與安裝應(yīng)用軟件能夠正確的打包和安裝,并能脫離開發(fā)平臺正確運(yùn)行(5分)講解與回答問題對應(yīng)用軟件的設(shè)計(jì)思路做總體描述,要求思路清楚,敘述流暢;軟件操作熟練;能正確回答老師的提問。(10分)工作量完成基本工作量可得5分,多或少

10、可酌情增減分,最高加到10分。設(shè)計(jì)說明書設(shè)計(jì)文檔按要求,格式規(guī)范、內(nèi)容完整、正確,可得(10分)項(xiàng)目參與課程設(shè)計(jì)期間滿勤(無遲到、早退、曠課)得(10分);遲到、早退一次扣1分,曠課一次扣2分,扣完10分止實(shí)訓(xùn)一 實(shí)訓(xùn)項(xiàng)目的選題與功能需求分析一.實(shí)訓(xùn)項(xiàng)目選題 選擇一個進(jìn)銷存管理系統(tǒng)作為本次實(shí)訓(xùn)的題目。如果對于進(jìn)銷存管理系統(tǒng)的業(yè)務(wù)流程不是十分清楚,也根據(jù)自已熟悉的領(lǐng)域,選擇一個合適的信息管理系統(tǒng)作為本次實(shí)訓(xùn)的題目。二.功能需求分析1 進(jìn)銷存系統(tǒng)常見的功能性需求分類功能類別功能名稱、標(biāo)識符描述用戶登錄用戶登錄對用戶輸入的用戶名,密碼進(jìn)行驗(yàn)證,驗(yàn)證通過后,該用戶可以使用PSS系統(tǒng)中自己擁有權(quán)限的那部

11、分功能,否則拒絕使用。維護(hù)基本資料銷售員資料維護(hù)用戶修改,刪除,新增或查詢銷售員數(shù)據(jù),系統(tǒng)根據(jù)用戶的操作,對銷售員資料進(jìn)行更新或顯示。商品資料維護(hù)用戶修改,刪除,新增或查詢商品數(shù)據(jù),系統(tǒng)根據(jù)用戶的操作,對商品資料進(jìn)行更新或顯示??蛻糍Y料維護(hù)用戶修改,刪除,新增或查詢客戶數(shù)據(jù)(其中包括對客戶的聯(lián)系人的修改,刪除,新增與查詢以及對客戶交易記錄的查詢),系統(tǒng)根據(jù)用戶的操作,對商品資料進(jìn)行更新或顯示。供應(yīng)商資料維護(hù)用戶修改,刪除,新增或查詢供應(yīng)商數(shù)據(jù)(其中包括對供應(yīng)商的聯(lián)系人的修改,刪除,新增與查詢以及對供應(yīng)商交易記錄的查詢),系統(tǒng)根據(jù)用戶的操作,對供應(yīng)商資料進(jìn)行更新或顯示。采購采購入庫用戶通過錄入采

12、購入庫單增加采購的貨物,并可對采購入庫單及其單據(jù)中的貨物明細(xì)進(jìn)行修改、刪除與查詢。采購?fù)素浻脩翡浫胪ㄟ^采購?fù)素泦瓮嘶刎浳?,并可對采購?fù)素泦渭捌鋯螕?jù)中的貨物明細(xì)進(jìn)行修改、刪除與查詢。銷售銷售出庫用戶通過錄入銷售出庫單記錄銷售的貨物,并可對銷售出庫單及其單據(jù)中的貨物明細(xì)進(jìn)行修改、刪除與查詢。銷售退貨用戶通過錄入銷售退貨單退回已銷售貨物,并可對銷售退貨單及其單據(jù)中的貨物明細(xì)進(jìn)行修改、刪除與查詢。庫存庫存查詢用戶通過組合不同條件,對庫存進(jìn)行查詢、盤點(diǎn)。維護(hù)系統(tǒng)維護(hù)用戶資料擁有系統(tǒng)維護(hù)權(quán)限的用戶可以增加新用戶,并可以對用戶的資料進(jìn)行修改、刪除以及查詢。管理用戶權(quán)限擁有權(quán)限管理的用戶可以設(shè)定其他用戶對軟件

13、的訪問權(quán)限。修改密碼用戶重新設(shè)定自己的密碼報表導(dǎo)出導(dǎo)出庫存預(yù)警庫存量低于安全存量的商品系統(tǒng)向用戶提供警示信息,以提醒用戶及時進(jìn)貨。用戶也可將警示信息導(dǎo)出到Excel中。導(dǎo)出商品資料將商品資料信息導(dǎo)出到Excel中。導(dǎo)出采購報表按日期或用戶定義的匯總方式對采購信息進(jìn)行匯總,并將匯總結(jié)果導(dǎo)出到Excel中。導(dǎo)出年采購報表根據(jù)年度匯總采購支出金額,并按月分將其導(dǎo)出在Excel中。2 根據(jù)所選擇的系統(tǒng)仔細(xì)分析系統(tǒng)的功能,然后畫出系統(tǒng)的模塊功能結(jié)構(gòu)圖3 畫出系統(tǒng)的數(shù)據(jù)流程圖或用例圖實(shí)訓(xùn)二 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是本實(shí)訓(xùn)的基礎(chǔ),只有在需求分析的基礎(chǔ)上合理設(shè)計(jì)所需的數(shù)據(jù)庫,才有可能完成本實(shí)訓(xùn)。關(guān)于數(shù)據(jù)庫的設(shè)計(jì)

14、可分為以下幾個步驟:畫出ER畫、ER圖轉(zhuǎn)化成關(guān)系模型、創(chuàng)建數(shù)據(jù)庫、實(shí)現(xiàn)完整性約束與一致性約束、創(chuàng)建索引與視圖、創(chuàng)建觸發(fā)器、創(chuàng)建存儲過程,最后編寫相應(yīng)的文檔。步驟一、畫ER圖為了減輕學(xué)生的負(fù)擔(dān),本實(shí)訓(xùn)給定了一個中文版的NorthWind數(shù)據(jù)庫(是SQLserver附帶的比較完善的進(jìn)銷存數(shù)據(jù)庫),學(xué)生可以在分析此數(shù)據(jù)庫特征的基礎(chǔ)上,畫出自己所選系統(tǒng)的數(shù)據(jù)庫的ER圖,NorthWind的數(shù)據(jù)庫關(guān)系圖如下所示:圖2 NorthWind數(shù)據(jù)庫關(guān)系圖注:以上圖形是數(shù)據(jù)庫關(guān)系圖而不是ER圖,請同學(xué)按照上學(xué)期實(shí)訓(xùn)所學(xué)的Visio軟件,建立ER圖。步驟二、創(chuàng)建數(shù)據(jù)庫根據(jù)每位同學(xué)所畫的ER圖,創(chuàng)建數(shù)據(jù)庫,同時確定

15、每一張表的主鍵;步驟三、實(shí)現(xiàn)完整性約束與一致性約束完整性:根據(jù)ER圖,建立表間的主從關(guān)系,以實(shí)現(xiàn)數(shù)據(jù)庫的完整性;SQLserverànorthwindà新建數(shù)據(jù)庫關(guān)系圖à添加表à從主表拖動主鍵到從表à出現(xiàn)下圖對話框à選擇相應(yīng)的鍵à確定(圖2所示)圖3一致性:在SQLserver中實(shí)現(xiàn)表間的級聯(lián)刪除、級聯(lián)更新關(guān)系;圖2按“確定”后,出現(xiàn)圖3的對話框,把“更新規(guī)則”和“刪除規(guī)則”均設(shè)為“層疊”即可保證數(shù)據(jù)庫的一致性。圖4步驟四、創(chuàng)建索引與視圖 創(chuàng)建索引與視圖可以提高查詢速度(本步驟可有可無)步驟五、創(chuàng)建觸發(fā)器(本步驟可有可無,視

16、具體系統(tǒng)而定)步驟六、創(chuàng)建存儲過程如創(chuàng)建“增加產(chǎn)品”的存儲過程的代碼如下:Create Procedure InsertChanPinDataP_name NVarChar(40),G_ID int,L_ID int,P_DanWeiShuLiang NVarChar(20),P_danjia money,P_KuCun smallint,P_DingGou smallint,P_ZaiDing smallint,P_zhongZhi bitASInsert Into 產(chǎn)品 Values(P_name,G_ID,L_ID,P_DanWeiShuLiang, P_danjia,P_KuCun,P

17、_DingGou,P_ZaiDing,P_zhongZhi)RETURN rowcount上篇 C/S應(yīng)用程序開發(fā)實(shí)訓(xùn)三 公共數(shù)據(jù)處理類的創(chuàng)建一、定義數(shù)據(jù)庫連接SqlConnection luocon = new SqlConnection("Data Source=.;Initial Catalog=JWInfo;Integrated Security=True");二、數(shù)據(jù)處理公共類所包含的常用的方法:執(zhí)行select 查詢語句的方法,返回數(shù)據(jù)集 public DataSet gettabledata(string strsql) SqlDataAdapter da =

18、 new SqlDataAdapter(strsql , luocon ); DataSet ds = new DataSet(); da.Fill(ds); return ds; 執(zhí)行帶參數(shù)數(shù)組的存儲過程的方法 public int Exec_sql(string strsql, SqlParameter paras) luocon.Open(); SqlCommand cmd = new SqlCommand(strsql, luocon); cmd.CommandType = CommandType.StoredProcedure; if (paras != null) foreach

19、(SqlParameter P in paras) cmd.Parameters.Add(P); return cmd.ExecuteNonQuery(); luocon.Close(); 執(zhí)行不帶參數(shù) 增加、刪除、修改、建表的SQL語句的方法 public int Exec_sql(string strsql) luocon.Close(); luocon.Open(); SqlCommand cmd = new SqlCommand(strsql, luocon); return cmd.ExecuteNonQuery(); luocon.Close(); 執(zhí)行帶統(tǒng)計(jì)功能的SQL語句的方法

20、 public int Exec_Scalar(string strsql) luocon.Close(); luocon.Open(); SqlCommand cmd = new SqlCommand(strsql, luocon); return Convert .ToInt32(cmd.ExecuteScalar().ToString(); luocon.Close(); 執(zhí)行存儲過程,返回SqlCommand的方法private SqlCommand CreateCommand(string ProcName, SqlParameter Prams) Open(); SqlComman

21、d Cmd = new SqlCommand(ProcName, Connection); Cmd.CommandType = CommandType.StoredProcedure; if (Prams != null) foreach (SqlParameter Parameter in Prams) Cmd.Parameters.Add(Parameter); return Cmd; 實(shí)訓(xùn)四 登錄窗體與主界面1.windows桌面應(yīng)用程序的常見登錄窗體及其代碼圖4“確定”按鈕的基本代碼:private void OK_Click(object sender, EventArgs e) i

22、f (username.Text ="") MessageBox.Show("用戶名不能為空"); else if (password.Text = "") MessageBox.Show("密碼不能為空"); else DataSet ds = new DataSet(); ds = mydb.gettabledata("select * from 用戶 where 用戶名='" + username.Text + "' and 密碼='" + pa

23、ssword.Text + "'"); if (ds.Tables0.Rows.Count = 0) MessageBox.Show("用戶名或密碼不正確"); else FrmMain FM = new FrmMain(); FM.Show(); this.Hide(); 思考以下問題:Ø 如果想實(shí)現(xiàn)驗(yàn)證碼,如何做?Ø 如果用戶有超級用戶與普通用戶之分,兩者能訪問的模塊有所區(qū)別,則如何處理?每位同學(xué)對主界面的設(shè)計(jì)不可能一樣,請大家自已設(shè)計(jì)實(shí)訓(xùn)五 處理數(shù)據(jù)一. 基本信息維護(hù)常見的基本信息處理的界面如及功能如下圖2所示,本實(shí)訓(xùn)指

24、導(dǎo)書中給出了對于“產(chǎn)品”表進(jìn)行增、刪、改、查詢等基本功能的代碼,在實(shí)訓(xùn)過程中,同學(xué)可以根據(jù)自己所選擇的題目適當(dāng)調(diào)整功能。圖51.查詢處理加載查詢依據(jù)(表字段)要實(shí)現(xiàn)查詢功能,一般在Form一加載時即把表的字段名加載到Combobox中,用戶可以選擇任何一個字段作為查詢依據(jù),所以首先要實(shí)現(xiàn)加載字段名的問題,常見的代碼如下:DataSet ds = new DataSet(); ds = mydb.gettabledata("SELECT name FROM sys.syscolumns WHERE (id = OBJECT_ID('產(chǎn)品') "); for (

25、int i = 0; i < ds.Tables0.Rows.Count - 1; i+) ComboBox1.Items.Add(ds.Tables0.Rowsi0.ToString(); DataSet ds1 = new DataSet(); ds1 = mydb.gettabledata("select * from 產(chǎn)品"); dataGridView1 .DataSource = ds1.Tables 0;實(shí)現(xiàn)查詢功能參考代碼如下:DataSet ds2 = new DataSet(); ds2 = mydb.gettabledata("sele

26、ct * from 產(chǎn)品 where "+ ComboBox1.Text + " like '%" + TextBox1 .Text +"%'"); dataGridView1.DataSource = null ; dataGridView1 .DataSource =ds2.Tables 0;其中:mydb是數(shù)據(jù)處理類的對象,gettabledata是數(shù)據(jù)處理類中的自定義方法(見實(shí)訓(xùn)三的2.)。2.刪除處理刪除時一般先選擇DataGridView的某一行或某幾行,然后刪除。刪除的原理是先把物理表的字段加載到一個數(shù)據(jù)集DS中,

27、然后根據(jù)用戶選定的DataGridView行號或關(guān)鍵字段的值,刪除數(shù)據(jù)集的某一行或某些行,然后把數(shù)據(jù)集回寫到數(shù)據(jù)表中。 刪除常見的有兩種方法:一是使用DataSet和SqlDataAdapter實(shí)現(xiàn)刪除功能;二是直接使用SQL語句或存儲過程實(shí)現(xiàn)刪除功能。使用DataSet和SqlDataAdapter實(shí)現(xiàn)刪除功能的通用代碼如下:try SqlDataAdapter da = new SqlDataAdapter("select * from 學(xué)生信息", mydb.luocon); DataSet ds = new DataSet(); SqlCommandBuilder

28、cb = new SqlCommandBuilder(da); da.Fill(ds); if (MessageBox.Show("真的要刪除嗎?", "提示", MessageBoxButtons.OKCancel) = DialogResult.OK) for (int i = 0; i < ds.Tables0.Rows.Count; i+) if (dataGridView1.Rowsi.Selected = true) ds.Tables0.Rowsi.Delete(); MessageBox.Show("刪除成功")

29、; da.Update(ds); dataGridView1.DataSource = ds.Tables0; catch MessageBox.Show("刪除失敗"); 直接使用SQL語句或存儲過程實(shí)現(xiàn)刪除功能try for (int i = 0; i < dataGridView1.Rows.Count - 1; i+) if (dataGridView1.Rowsi.Selected = true) int ChanPinID = Int32.Parse(dataGridView1.Rowsi.Cells0); int m = tdb.Exec_str(&qu

30、ot;delete from 產(chǎn)品 where 產(chǎn)品ID=" + ChanPinID); MessageBox.Show("刪除成功"); catch MessageBox.Show("刪除失敗"); 3.增加記錄增加記錄的常見有兩種方法,一是使用DataSet和SqlDataAdapter實(shí)現(xiàn)刪除功能;二是直接使用SQL語句或存儲過程實(shí)現(xiàn)刪除功能。使用DataSet和SqlDataAdapter實(shí)現(xiàn)增加功能,該方法的原理與刪除操作十分類似,先是加載數(shù)據(jù)集,然后向數(shù)據(jù)集增加一條記錄,最后回寫到物理表中,參考代碼如下:SqlDataAdapter

31、 da = new SqlDataAdapter("select * from 產(chǎn)品", tdb .luocon ); SqlCommandBuilder cb = new SqlCommandBuilder(da); DataSet ds= new DataSet(); da.Fill (ds); DataRow dr = ds.Tables0.NewRow(); dr0 = 產(chǎn)品名稱TextBox.Text; dr1 = 供應(yīng)商IDTextBox.Text; 。 try ds.Tables0.Rows.Add(dr); da.Update(ds); MessageBox

32、.Show("添加成功"); catch MessageBox.Show("添加失敗"); 使用存儲過程實(shí)現(xiàn)刪除功能,此方法必須先創(chuàng)建刪除的存儲過程,接著編寫能夠執(zhí)行刪除操作的方法(可使用實(shí)訓(xùn)三的),最后調(diào)用該方法來執(zhí)行存儲過程。參考代碼如下:SqlParameter mypara = new SqlParameter9; mypara0 = new SqlParameter("Number", SqlDbType.NVarChar, 4); mypara1 = new SqlParameter("Name", S

33、qlDbType.NVarChar, 40); mypara0.Value = 產(chǎn)品IDTextBox.Text; mypara1.Value = 產(chǎn)品名稱TextBox.Text; int k= Sdb.Exec_pro("add_product", mypara ); if (k = 0) MessageBox.Show("添加失敗"); else MessageBox.Show("添加了一條記錄");實(shí)訓(xùn)六 維護(hù)數(shù)據(jù)維護(hù)數(shù)據(jù)的操作一般包含數(shù)據(jù)的導(dǎo)入、導(dǎo)出、數(shù)據(jù)備份、數(shù)據(jù)還原等功能。1. 從SQL表導(dǎo)出到Excel表try int

34、 row , col ; bool IsOnlyVisible= true ; Excel .Application myexcel= new Excel.Application (); myexcel .Application .Workbooks.Add (true ); col = 1; for (int n=0; n<dataGridView1 .ColumnCount -1; n+) if (IsOnlyVisible ) if (dataGridView1 .Columnsn.Visible ) myexcel .Cells 1,col = dataGridView1 .Co

35、lumnsn.HeaderText ; col = col+1; else myexcel .Cells 1, n+1= dataGridView1 .Columns n.HeaderText ; row =2; for (int i=0; i<dataGridView1 .RowCount -1; i+) col =1; for (int j=0; j<dataGridView1 .ColumnCount -1; j+) if (IsOnlyVisible ) if (dataGridView1 .Columnsj.Visible ) myexcel .Cells i+2, co

36、l = dataGridView1.Rows i.Cells j.Value .ToString (); col =col +1; else myexcel .Cells i+2, j+1=dataGridView1.Rows i.Cells j.Value.ToString () ; myexcel.Visible = true ; catch (Exception ex) throw ex; 2. 數(shù)據(jù)備份圖6try string strBacl = "backup database db_CSManage to disk='" + txtPath.Text.T

37、rim() + "" + txtName.Text.Trim() + ".bak'" int i = sdb.Exec_str(strBacl); MessageBox.Show("備份成功"); catch MessageBox.Show("備份失敗"); 其中:txtPath是文件路徑的textbox, txtName是文件名的textbox3. 數(shù)據(jù)還原if (textPaht.Text != "")getSqlConnection geCon = new getSqlConnec

38、tion();SqlConnection con = geCon.GetCon();if (con.State = ConnectionState.Open)con.Close();string DateStr = "Data Source=aa;Database=master;User id=sa;PWD="SqlConnection conn = new SqlConnection(DateStr);conn.Open();/-殺掉所有連接db_CSManage 數(shù)據(jù)庫的進(jìn)程-string strSQL = "select spid from master.s

39、ysprocesses where dbid=db_id( 'db_CSManage') "SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);DataTable spidTable = new DataTable();Da.Fill(spidTable);SqlCommand Cmd = new SqlCommand();Cmd.CommandType = CommandType.Text;Cmd.Connection = conn;for (int iRow = 0; iRow <= spidTable.

40、Rows.Count - 1; iRow+)Cmd.CommandText = "kill " + spidTable.RowsiRow0.ToString(); /強(qiáng)行關(guān)閉用戶進(jìn)程Cmd.ExecuteNonQuery();conn.Close();conn.Dispose();/-SqlConnection sqlcon = new SqlConnection(DateStr);sqlcon.Open();SqlCommand sqlCmd = new SqlCommand("backup log db_CSManage to disk='"

41、 + textPaht.Text.Trim() + "' restore database db_CSManage from disk='" + textPaht.Text.Trim() + "'", sqlcon);sqlCmd.ExecuteNonQuery();sqlCmd.Dispose();sqlcon.Close();sqlcon.Dispose();MessageBox.Show("數(shù)據(jù)還原成功!", "提示", MessageBoxButtons.OK, MessageBox

42、Icon.Information);MessageBox.Show("為了必免數(shù)據(jù)丟失,在數(shù)據(jù)庫還原后將關(guān)閉整個系統(tǒng)。");Application.Exit();elseMessageBox.Show("請選擇備份文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);*實(shí)訓(xùn)七 幫助文檔的制作與C#的調(diào)用一.CHM幫助文檔制作網(wǎng)絡(luò)上有許多免費(fèi)的CHM制作工具,如Pocket CHM就是其中的一種,才2.40MB,使用非常簡單,操作步驟如下:步驟一:按主題創(chuàng)建操作手冊的HTM格

43、式的網(wǎng)頁,每個主題為一個HTML文件。步驟二:啟動Pocket CHM,如下圖,單擊“新書”按鈕,輸入主題,如下圖所示:步驟三:單擊“新書”按鈕,輸入主題,然后把第一步創(chuàng)建的HTM文件從最右框拖到最左框,放開鼠標(biāo)后如下圖所示:步驟四:保存工程,執(zhí)行“工具”à“編譯為CHM”即可得到格式為CHM的操作手冊。二.C#調(diào)用幫助方檔的方法方法一:顯示指定 URL 處的幫助文件內(nèi)容 string helpfile = “helpfile.chm”; Help.ShowHelp(this, helpfile); 注:ShowHelp方法還有許多重載,請參考MSDN。 方法二:顯示指定幫助文件的索

44、引 Help.ShowHelpIndex(this, helpfile);方法三:通過進(jìn)程Process去調(diào)用 System.Diagnostics.Process.Start(“helpfile.chm”); 下篇 B/S應(yīng)用程序開發(fā)實(shí)訓(xùn)三 公共數(shù)據(jù)處理類的創(chuàng)建(數(shù)據(jù)訪問層)一、配置數(shù)據(jù)庫連接1.Web.Config中的配置<connectionStrings><add name="連接名" connectionString ="連接字符串"/></connectionStrings>2.數(shù)據(jù)訪問層中公共數(shù)據(jù)處理類的

45、設(shè)置 protected SqlConnection LuoCon; /私有變量,數(shù)據(jù)庫連接 public 構(gòu)造函數(shù)() LuoCon = new SqlConnection(); LuoCon.ConnectionString = ConfigurationManager.ConnectionStrings"連接名".ConnectionString; 二、數(shù)據(jù)訪問層中公共處理類所包含的常用方法:執(zhí)行select 查詢語句的方法,返回數(shù)據(jù)集 public DataSet GetDataSet (string strsql) SqlDataAdapter da = new SqlDataAdapter(strsql, LuoCon); DataSet ds = new DataSet(); da.Fill(ds); return ds; 調(diào)用存儲過程(

溫馨提示

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

評論

0/150

提交評論