數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)--工廠零件進(jìn)銷存及工程管理系統(tǒng)_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 </p><p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程名稱: 數(shù)據(jù)庫系統(tǒng)原理 </p><p>  專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級(jí): 級(jí) 班 </p><p>  

2、學(xué) 號(hào): </p><p>  姓 名: </p><p>  指導(dǎo)老師: </p><p>  工廠零件進(jìn)銷存及工程管理系統(tǒng)</p><p><b>  需求分析</b></p>

3、<p><b>  背景分析:</b></p><p>  根據(jù)工廠規(guī)模日益擴(kuò)增,負(fù)責(zé)的工程項(xiàng)目也越多且越大,與零件供應(yīng)商的的交易也越來越繁瑣,行業(yè)競(jìng)爭(zhēng)也日益激烈。面對(duì)諸多問題,擁有一款優(yōu)秀的工廠物資及工程的管理系統(tǒng)會(huì)大大提高工作的效率;從長(zhǎng)期利益來看,一套好的管理系統(tǒng)還可以減少經(jīng)費(fèi)開支,增加工廠的利潤(rùn);此外,還方便了工廠的人員了解和管理相關(guān)的業(yè)務(wù),使工廠的管理水平跟得上工廠的快速

4、發(fā)展,實(shí)現(xiàn)工廠管理的高效化。</p><p><b>  功能需求:</b></p><p>  用戶在登錄應(yīng)用程序界面時(shí),檢查用戶的合法性,并在用戶連續(xù)3次登錄失敗后自動(dòng)關(guān)閉程序。</p><p>  只有管理員可以通過該程序?qū)S相關(guān)的全部信息進(jìn)行管理</p><p>  系統(tǒng)管理員可以通過應(yīng)用程序?qū)τ脩粜畔⑦M(jìn)行統(tǒng)一

5、管理,修改或刪除用戶的信息。</p><p>  普通用戶只可以修改自己的賬號(hào)和密碼,但是不能更改自己的用戶類型。</p><p>  普通客戶和系統(tǒng)管理員可以通過應(yīng)用程序查詢與工廠零件相關(guān)的信息。用戶可以根據(jù)查詢對(duì)象的不同屬性查詢到想要的信息,而且部分?jǐn)?shù)據(jù)能夠支持模糊查詢</p><p>  應(yīng)用程序內(nèi)部要可以通過SQL語句對(duì)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進(jìn)行插入、修改和刪除等操

6、作。</p><p>  當(dāng)系統(tǒng)管理員對(duì)相關(guān)信息進(jìn)行操作時(shí),系統(tǒng)要自動(dòng)檢測(cè)輸入的數(shù)據(jù)是否合理,并彈出相應(yīng)的提示信息。</p><p>  存儲(chǔ)的各種物資的數(shù)量要隨零件的供應(yīng)量或使用量的變化而動(dòng)態(tài)變化,出現(xiàn)不合理數(shù)據(jù)時(shí)通知操作員。</p><p>  應(yīng)用程序中要有該程序的相關(guān)簡(jiǎn)介和使用說明,幫助系統(tǒng)管理員和用戶更好地使用該程序。</p><p&g

7、t;  概念結(jié)構(gòu)設(shè)計(jì)(E-R圖)</p><p><b>  邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  表Employees的結(jié)構(gòu)</p><p>  Employee_No (Employee_Name,Project_No,Title,Age),該關(guān)系模式滿足BCNF</p><p><b>  ,&

8、lt;/b></p><p>  表Providers的結(jié)構(gòu)</p><p>  Provider_No (Provider_Name,Provider_Phone,Provider_Address,Provider_Account)該關(guān)心模式滿足BCNF</p><p><b>  表Parts的結(jié)構(gòu)</b></p>&

9、lt;p>  Part_No (Part_Name,Color,Weight,Price,Number,Description),該關(guān)系模式滿足BCNF</p><p>  表Projects的結(jié)構(gòu)</p><p>  Project_No (Project_Name,Start_Time,Budget),該關(guān)系模式滿足BCNF</p><p>&l

10、t;b>  表Deal的結(jié)構(gòu)</b></p><p>  Deal_No (provider_No,Part_No,Deal_Date,Deal_Number),該關(guān)系模式滿足BCNF</p><p><b>  表Used的結(jié)構(gòu)</b></p><p>  Used_No (Project_No,Part_No,U

11、sed_Date,Used_Number),該關(guān)系模式滿足BCNF</p><p><b>  外鍵定義</b></p><p><b>  物理設(shè)計(jì)</b></p><p>  創(chuàng)建Users(系統(tǒng)的用戶)表</p><p>  create TABLE Users</p><

12、p><b>  (</b></p><p>  User_No varchar(10) not null,</p><p>  PassWord varchar(10) ,</p><p>  User_Type varchar(1),</p><p>  Constraint PK_Users Primary K

13、ey(User_No)</p><p><b>  ); </b></p><p>  創(chuàng)建Providers(零件供應(yīng)商)表</p><p>  CREATE TABLE Providers</p><p><b>  (</b></p><p>  Provider_No

14、 Varchar(5) not null,</p><p>  Provider_Name varchar(20),</p><p>  Provider_Phone varchar(20),</p><p>  Provider_Address varchar(40),</p><p>  Provider_Account varchar(

15、30),</p><p>  Constraint PK_Providers Primary Key(Provider_No)</p><p><b>  );</b></p><p>  Provider_No是常用于查詢且更新較少的列,故建一個(gè)唯一索引</p><p>  CREATE UNIQUE INDEX Pr

16、ovidersNO ON Providers(Provider_No);</p><p>  創(chuàng)建Projects(工程項(xiàng)目)表</p><p>  CREATE TABLE Projects</p><p><b>  (</b></p><p>  Project_No varchar(5) not null,<

17、;/p><p>  Project_Name varchar(20),</p><p>  Start_Time varchar(20),</p><p>  Budget decimal(10,1),</p><p>  Constraint PK_Projects Primary Key(Project_No)</p><

18、p><b>  );</b></p><p>  Project_No是常用于查詢且更新較少的列,故建一個(gè)唯一索引</p><p>  CREATE UNIQUE INDEX ProjectNO ON Projects(Project_No);</p><p>  創(chuàng)建Employees(工程負(fù)責(zé)人)表</p><p&

19、gt;  CREATE TABLE Employees</p><p><b>  (</b></p><p>  Employee_No varchar(5) not null,</p><p>  Employee_Name varchar(20),</p><p>  Age decimal(3),</p&g

20、t;<p>  Title varchar(20),</p><p>  Project_No varchar(5),</p><p>  Constraint PK_Employees </p><p>  Primary Key(Employee_No),</p><p>  Constraint FK_Employees_

21、to_Projects </p><p>  Foreign Key(Project_No) References Projects(Project_No)</p><p><b>  );</b></p><p>  Employee_No是常用于查詢且更新較少的列,故建一個(gè)唯一索引</p><p>  CREATE

22、UNIQUE INDEX EmployeeNO ON Employees(Employee_No);</p><p>  創(chuàng)建Parts(零件)表</p><p>  CREATE TABLE Parts</p><p><b>  (</b></p><p>  Part_No varchar(5) not null,

23、</p><p>  Part_Name varchar(30),</p><p>  Color varchar(10),</p><p>  Weight decimal(5,1),</p><p>  Price decimal(10,1),</p><p>  Description varchar(300),

24、</p><p>  Number decimal(9),</p><p>  Constraint PK_Parts Primary Key(Part_No)</p><p><b>  );</b></p><p>  Part_No是常用于查詢且更新較少的列,故建一個(gè)唯一索引</p><p>

25、;  CREATE UNIQUE INDEX PartNO ON Parts(Part_No);</p><p>  創(chuàng)建Deal(供應(yīng)信息)表</p><p>  CREATE TABLE Deal</p><p><b>  (</b></p><p>  Deal_No varchar(5) not null,&l

26、t;/p><p>  Provider_No varchar(5),</p><p>  Part_No varchar(5),</p><p>  Deal_Date varchar(20),</p><p>  Deal_Number decimal(7),</p><p>  Constraint PK_Provid

27、er Primary Key(Deal_No),</p><p>  Constraint FK_Provide_to_Providers Foreign Key(Provider_No) References Providers(Provider_No),</p><p>  Constraint FK_Provide_to_Parts Foreign Key(Part_No) Re

28、ferences Parts(Part_No)</p><p><b>  );</b></p><p>  創(chuàng)建Used(零件使用信息表)</p><p>  CREATE TABLE Used</p><p><b>  (</b></p><p>  Used_No v

29、archar(5) not null,</p><p>  Project_No varchar(5),</p><p>  Part_No varchar(5),</p><p>  Used_Number decimal(8),</p><p>  Used_Date varchar(20),</p><p> 

30、 Constraint PK_Used Primary Key(Used_No),</p><p>  Constraint FK_Used_to_Projects Foreign Key(Project_No) References Projects(Project_No),</p><p>  Constraint FK_Used_to_Parts Foreign Key(Part_N

31、o) References Parts(Part_No)</p><p><b>  );</b></p><p><b>  數(shù)據(jù)庫的實(shí)施和維護(hù)</b></p><p>  本系統(tǒng)的運(yùn)行環(huán)境為Visual C++ 6.0,</p><p>  1程序執(zhí)行后彈出系統(tǒng)的登錄界面,如下圖所示:</

32、p><p>  用數(shù)據(jù)庫中存儲(chǔ)的用戶信息登錄系統(tǒng),如圖所示</p><p>  若用戶輸入的用戶信息錯(cuò)誤,會(huì)彈出警告,登錄3次失敗后系統(tǒng)自動(dòng)退出</p><p>  2登錄成功后進(jìn)入系統(tǒng)的主界面,入下圖</p><p>  點(diǎn)擊菜單欄上的“數(shù)據(jù)操作”、“查詢信息”、“系統(tǒng)用戶管理”、“幫助”可進(jìn)行相應(yīng)的操作。如下圖所示。如果使用本系統(tǒng)的是系統(tǒng)管理

33、員,則該用戶可以參與數(shù)據(jù)的相關(guān)操作,如插入、修改、和刪除;如果只是普通用戶,系統(tǒng)會(huì)設(shè)置權(quán)限,使得普通用戶只有查看相關(guān)信息和修改自己的用戶信息的權(quán)力,確保了數(shù)據(jù)庫中信息的安全性。</p><p><b>  3檢索相關(guān)信息</b></p><p>  如果要查詢零件信息,則點(diǎn)擊“查詢信息”——“零件信息”,彈出零件信息列表,如下圖</p><p>

34、;  若要根據(jù)零件的某些特定屬性查詢信息,可在“零件查詢條件”的組合框中選中相應(yīng)的條件并輸入相關(guān)的信息。例如查詢有高強(qiáng)度性質(zhì)的零件,選中“描述”,輸入“高強(qiáng)度”,點(diǎn)擊“查詢”按鈕,如圖:</p><p>  出現(xiàn)相應(yīng)的查詢結(jié)果,如下圖:</p><p>  其余的查詢操作與上述的操作類似,這里不再贅述。</p><p><b>  4數(shù)據(jù)操作</b&

35、gt;</p><p>  如果想要修改零件供應(yīng)的信息,點(diǎn)擊“數(shù)據(jù)操作”——“零件供應(yīng)情況”,彈出當(dāng)前的零件供應(yīng)信息,如下圖所示:</p><p>  如果要添加零件供應(yīng)信息,點(diǎn)擊“添加”按鈕,彈出零件供應(yīng)信息的編輯框,輸入相應(yīng)的數(shù)據(jù);如果輸入的供應(yīng)商編號(hào)或者零件編號(hào)還未存進(jìn)數(shù)據(jù)庫,系統(tǒng)會(huì)彈出供應(yīng)商或零件信息的編輯框,要求操作員先完善數(shù)據(jù)庫中供應(yīng)商或零件的信息;如果要?jiǎng)h除某一行記錄,選中相

36、應(yīng)的元組,點(diǎn)擊“刪除”(若表中的某些數(shù)據(jù)項(xiàng)被其他對(duì)象引用,系統(tǒng)會(huì)彈出警告,告知用戶刪除該項(xiàng)記錄后,其他引用該數(shù)據(jù)項(xiàng)的記錄也會(huì)被刪除);若要修改每個(gè)元組的信息,則選中該元組后點(diǎn)擊“修改”,彈出相應(yīng)的編輯框,如下圖:</p><p>  (供應(yīng)編號(hào)為00007的零件供應(yīng)量減少了200)</p><p>  修改成功后數(shù)據(jù)自動(dòng)刷新,如下圖</p><p> ?。ü?yīng)編號(hào)0

37、0007的205號(hào)零件變成了2000)</p><p>  然后來看看零件信息中的數(shù)據(jù)吧,如下圖</p><p> ?。ㄅc上面的零件信息截圖比較,發(fā)現(xiàn)205號(hào)零件數(shù)量減少</p><p>  了200,說明零件信息隨供應(yīng)信息變化自動(dòng)修改數(shù)據(jù)成功)</p><p>  其余的數(shù)據(jù)操作也與上面說講的類似,這里就不再多說了</p>&

38、lt;p>  5用戶管理與信息的修改</p><p>  點(diǎn)擊“系統(tǒng)用戶管理”——“用戶管理”(只有管理員有此權(quán)限),彈出系統(tǒng)用戶的信息列表,如下圖</p><p>  管理員可以查詢到所有用戶的信息,并能夠修改用戶的賬戶、密碼和用戶類型,添加新用戶,刪除用戶信息</p><p>  點(diǎn)擊"修改",出現(xiàn)用戶信息的編輯框,如下圖:</p

39、><p> ?。ㄆ胀ㄓ脩魶]有權(quán)限修改自己的用戶類型,只能修改賬號(hào)和密碼)</p><p><b>  6系統(tǒng)幫助</b></p><p>  用戶點(diǎn)擊菜單欄上的"幫助",可以查詢到系統(tǒng)的簡(jiǎn)介和使用說明</p><p><b>  總結(jié)</b></p><p>

40、<b>  系統(tǒng)優(yōu)缺點(diǎn)的分析:</b></p><p>  這個(gè)系統(tǒng)相對(duì)于某個(gè)工廠的信息管理系統(tǒng)來說,真的只能算是一輛卡車上的一顆螺絲。系統(tǒng)可以完成的功能還遠(yuǎn)遠(yuǎn)不能滿足實(shí)際生活中的需要,而且系統(tǒng)的操作界面很呆板,風(fēng)格也比較單一。不能導(dǎo)出圖片、音頻或視頻文件。不過我相信如果有更多的時(shí)間,我會(huì)把這個(gè)系統(tǒng)做得更好!</p><p>  該系統(tǒng)使用比較簡(jiǎn)單,操作人員只需要有基

41、本的計(jì)算機(jī)知識(shí)即可。系統(tǒng)中對(duì)各種可能出現(xiàn)的錯(cuò)誤操作(如重復(fù)輸入具有唯一性的數(shù)據(jù)項(xiàng)、將零件的數(shù)目變成負(fù)數(shù)等)考慮得比較全面,在操作過程中系統(tǒng)會(huì)自動(dòng)彈出相應(yīng)的提示,比較人性化。</p><p><b>  個(gè)人感想:</b></p><p>  這是我第一次將編程語言和數(shù)據(jù)庫結(jié)合起來使用,剛開始做一點(diǎn)把握都沒有。本次課程設(shè)計(jì)使我真正的學(xué)到了不少知識(shí),由于之前對(duì)MFC的知識(shí)

42、積累不夠,尤其是在數(shù)據(jù)庫與VC++連接上存在很大漏洞,使得本次課程設(shè)計(jì)遇到了許多困難。但正是伴隨著這些困難得一個(gè)個(gè)的被解決,我學(xué)到了許多知識(shí),每次解決一個(gè)問題都會(huì)收獲不少的知識(shí),第一次感受到數(shù)據(jù)庫與編程語言的結(jié)合實(shí)在是太完美了。</p><p>  本次課程設(shè)計(jì)讓我有機(jī)會(huì)能把之前學(xué)的數(shù)據(jù)庫知識(shí)系統(tǒng)的串聯(lián)起來。尤其是對(duì)數(shù)據(jù)庫的建立與操作都上了一個(gè)臺(tái)階,包括怎么建立更簡(jiǎn)潔且沒有冗余又很完備的數(shù)據(jù)庫系統(tǒng),怎樣對(duì)數(shù)據(jù)庫結(jié)

43、構(gòu)模型的進(jìn)行設(shè)計(jì),更重要的是前期對(duì)概念模型也就是E-R圖的規(guī)劃。深刻的體會(huì)到前期工作的重要性,只有正確詳盡的對(duì)系統(tǒng)進(jìn)行分析以后,才能更高效率的完成系統(tǒng)的開發(fā)。</p><p>  做課程設(shè)計(jì)的過程中,沒有老師輔導(dǎo)我,向老師發(fā)郵件求助也沒有得到回應(yīng)。我就買了好幾本書,自己慢慢看,然后試著自己做,在引用書中的部分方法的同時(shí)也融入自己的思考,靈活地應(yīng)用多種方法,遇到難題就上網(wǎng)查看解決的方法,真的收獲不少。我相信只要是自

44、己做了就一定會(huì)有收獲的!細(xì)節(jié)決定一個(gè)程序的好壞與成??!</p><p><b>  附錄</b></p><p> ?、俪绦蛑杏糜诓僮鲾?shù)據(jù)庫的接口ADOConn類代碼</p><p>  // 初始化—連接數(shù)據(jù)庫</p><p>  void ADOConn::OnInitADOConn()</p>&l

45、t;p><b>  {</b></p><p>  ::CoInitialize(NULL);// 初始化OLE/COM庫環(huán)境 </p><p><b>  try</b></p><p><b>  {</b></p><p>  //m_pConnection為指向C

46、onnection對(duì)象的指針:</p><p>  // 創(chuàng)建Connection對(duì)象</p><p>  m_pConnection.CreateInstance("ADODB.Connection");</p><p>  // 設(shè)置連接字符串,必須是BSTR型或者_(dá)bstr_t類型</p><p>  //該系統(tǒng)使用

47、的是文件數(shù)據(jù)源</p><p>  m_pConnection->Open("FILEDSN=D:\\工廠物資管理\\工廠物資管理ODBC文件數(shù)據(jù)源.dsn;PageTimeout=5","uid=飛魚", "pwd=19900127",adModeUnknown);</p><p><b>  }</b&g

48、t;</p><p><b>  // 捕捉異常</b></p><p>  catch(_com_error e)</p><p><b>  {</b></p><p><b>  // 顯示錯(cuò)誤信息</b></p><p>  AfxMessage

49、Box(e.Description());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 執(zhí)行查詢</b></p><p>  _RecordsetPtr& ADOConn::GetRecordSet

50、(_bstr_t bstrSQL)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  // 連接數(shù)據(jù)庫,如果Connection對(duì)象為空,則重新連接數(shù)據(jù)庫</p><

51、;p>  if(m_pConnection==NULL)</p><p>  OnInitADOConn();</p><p>  // 創(chuàng)建記錄集對(duì)象</p><p>  m_pRecordset.CreateInstance(__uuidof(Recordset));</p><p>  // 取得表中的記錄</p>

52、<p>  m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);</p><p><b>  }</b></p><p><b>  // 捕捉異常</b></p>&

53、lt;p>  catch(_com_error e)</p><p><b>  {</b></p><p><b>  // 顯示錯(cuò)誤信息</b></p><p>  AfxMessageBox(e.Description());</p><p><b>  }</b>

54、</p><p><b>  // 返回記錄集</b></p><p>  return m_pRecordset;</p><p><b>  }</b></p><p>  // 執(zhí)行SQL語句,Insert ,Update ,Delete</p><p>  BOOL

55、ADOConn::ExecuteSQL(_bstr_t bstrSQL)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  // 是否已經(jīng)連接數(shù)據(jù)庫</p><p&

56、gt;  if(m_pConnection == NULL)</p><p>  OnInitADOConn();</p><p>  // Connection對(duì)象的Execute方法:(_bstr_t CommandText, VARIANT * RecordsAffected, long Options ) </p><p>  // 其中CommandT

57、ext是命令字串,通常是SQL命令。</p><p>  // 參數(shù)RecordsAffected是操作完成后所影響的行數(shù), </p><p>  // 參數(shù)Options表示CommandText的類型:adCmdText-文本命令;adCmdTable-表名adCmdProc-存儲(chǔ)過程;adCmdUnknown-未知</p><p>  m_pConnectio

58、n->Execute(bstrSQL,NULL,adCmdText);</p><p>  return true;</p><p><b>  }</b></p><p>  catch(_com_error e)</p><p><b>  {</b></p><p&g

59、t;  AfxMessageBox(e.Description());</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void ADOConn::ExitConnect()</p>&

60、lt;p><b>  {</b></p><p>  // 關(guān)閉記錄集和連接</p><p>  if (m_pRecordset != NULL)</p><p>  m_pRecordset->Close();</p><p>  m_pConnection->Close();</p>

61、<p><b>  // 釋放環(huán)境</b></p><p>  ::CoUninitialize();</p><p><b>  }</b></p><p> ?、贑Deal類面向Deal表,下面的函數(shù)用于向Deal表插入數(shù)據(jù)</p><p>  void CDeal::sql_ins

62、ert()</p><p><b>  {</b></p><p>  //聲明一個(gè)ADOConn類,并連接數(shù)據(jù)庫</p><p>  ADOConn m_AdoConn;</p><p>  m_AdoConn.OnInitADOConn();</p><p>  //設(shè)置SQL語句,由CStr

63、ing向_bstr_t類型轉(zhuǎn)換</p><p>  CString str;</p><p>  str.Format("INSERT INTO Deal(Deal_No,Provider_No,Part_No,Deal_Date,Deal_Number)\ VALUES('%s','%s','%s','%s

64、9;,%f)",Deal_No,Provider_No,Part_No,Deal_Date,Deal_Number);</p><p>  _bstr_t vSQL;</p><p>  vSQL=_bstr_t(str);</p><p>  m_AdoConn.ExecuteSQL(vSQL);//執(zhí)行SQL語句</p><p>

65、;  m_AdoConn.ExitConnect();//斷開與數(shù)據(jù)庫的連接</p><p><b>  }</b></p><p>  注:用于其它表的插入、刪除、和修改的函數(shù)大體相同,只是SQL語句有點(diǎn)變化,故不再一一列出</p><p> ?、巯旅媸枪こ特?fù)責(zé)人管理對(duì)話框函數(shù)</p><p>  void CEmpM

66、anagementDlg::OnButtonAdd() //添加信息</p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);</p><p>  

67、CEmpEditDlg dlg;//聲明一個(gè)負(fù)責(zé)人編輯對(duì)話框變量</p><p>  //buttonflag是CEmpEditDlg類中的一個(gè)標(biāo)志,為1時(shí)表示要把輸入</p><p>  //的數(shù)據(jù)插入Employees表,為-0時(shí)表示更新Employees表中的數(shù)據(jù)</p><p>  dlg.buttonflag=1;</p><p>

68、  if (dlg.DoModal() == IDOK)</p><p>  RefreshData();</p><p><b>  }</b></p><p>  void CEmpManagementDlg::OnButtonModify() //修改信息</p><p><b>  {</b&g

69、t;</p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);</p><p>  CEmpEditDlg dlg;</p><p>  //將DataGrid控件中要修改的信息讀到編輯框中</p>

70、<p>  dlg.m_Employee_No=m_DataGrid.GetItem(0);</p><p>  dlg.m_Employee_Name = m_DataGrid.GetItem(1);</p><p>  dlg.m_Age = m_DataGrid.GetItem(2); </p><p>  dlg.m_Project_No =

71、m_DataGrid.GetItem(4);</p><p>  if (dlg.DoModal() == IDOK)</p><p>  RefreshData();</p><p><b>  }</b></p><p>  void CEmpManagementDlg::OnButtonDelete() //刪除

72、信息</p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  CString str=m_DataGrid.GetItem(0);//獲取負(fù)責(zé)人的編號(hào)</p><p>  CEmplo

73、yees emp;</p><p>  if (MessageBox("是否刪除當(dāng)前記錄?","請(qǐng)確認(rèn)", MB_YESNO) == IDYES)//如果確認(rèn)刪除則刪掉相應(yīng)信息</p><p><b>  {</b></p><p>  emp.sql_delete(str);//刪除指定編號(hào)的負(fù)責(zé)人信息

74、</p><p>  RefreshData();</p><p><b>  }</b></p><p><b>  }</b></p><p>  注:其余管理對(duì)話框的代碼類似,不再贅述</p><p> ?、芤韵率遣樵児こ绦畔⒌膶?duì)話框代碼</p><

75、;p>  void CProjectsInfoDlg::OnButtonSearch() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData();</p>&l

76、t;p>  CString csql; </p><p>  switch(m_Radio)//m_Radio代表選擇的相應(yīng)的查詢條件</p><p><b>  {</b></p><p>  case -1://未選擇任何查詢條件</p><p>  if(m_SearchOption!=""

77、;)</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)選中查詢的條件!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b

78、>  else</b></p><p><b>  {</b></p><p>  MessageBox("請(qǐng)選中查詢的條件!");</p><p><b>  return;</b></p><p><b>  }</b></p&g

79、t;<p><b>  break;</b></p><p>  case 0://選擇按工程編號(hào)查詢</p><p>  if(m_SearchOption=="")</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)

80、輸入工程項(xiàng)目編號(hào)!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  csql.Format("SELECT * from Projects where Project_No='%s'",m_SearchOpt

81、ion);//設(shè)置查詢語句</p><p><b>  break;</b></p><p>  case 1://選擇按工程項(xiàng)目名稱查詢</p><p>  if(m_SearchOption=="")</p><p><b>  {</b></p><p&

82、gt;  MessageBox("請(qǐng)輸入工程項(xiàng)目名稱!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  csql.Format("SELECT * FROM Projects where Project_Name='

83、%s'",m_SearchOption);//設(shè)置查詢語句</p><p><b>  break;</b></p><p>  case 2://選擇按開工時(shí)間查詢</p><p>  if(m_Start_Time==0)</p><p><b>  { </b></p&

84、gt;<p>  MessageBox("請(qǐng)選擇開工時(shí)間!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  csql.Format("SELECT * FROM Projects WHERE Start_Ti

85、me='%s'",m_Start_Time.Format("%Y-%m-%d"));//設(shè)置查詢語句</p><p><b>  break;</b></p><p>  case 3://選擇按工程預(yù)算資金范圍查詢</p><p>  if(m_Combo.GetCurSel()==-1)//沒有

86、選擇任何預(yù)算資金范圍</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)選擇資金預(yù)算范圍!");</p><p><b>  return;</b></p><p><b>  }</b></p><p

87、>  //以下是根據(jù)選擇的預(yù)算資金范圍設(shè)置SQL語句</p><p>  if(m_Combo.GetCurSel()==0) csql.Format("SELECT * FROM Projects WHERE Budget<10000");</p><p>  else if(m_Combo.GetCurSel()==1) csql.Format(&qu

88、ot;SELECT * FROM Projects WHERE Budget Between 10000 and 30000");</p><p>  else if(m_Combo.GetCurSel()==2) csql.Format("SELECT * FROM Projects WHERE Budget Between 30000 and 50000");</p>

89、<p>  else if(m_Combo.GetCurSel()==3) csql.Format("SELECT * FROM Projects WHERE Budget Between 50000 and 100000");</p><p>  else if(m_Combo.GetCurSel()==4) csql.Format("SELECT * FROM Pr

90、ojects WHERE Budget Between 100000 and 150000");</p><p>  else if(m_Combo.GetCurSel()==5) csql.Format("SELECT * FROM Projects WHERE Budget Between 150000 and 200000");</p><p>  el

91、se if(m_Combo.GetCurSel()==6) csql.Format("SELECT * FROM Projects WHERE Budget Between 200000 and 1000000");</p><p>  else if(m_Combo.GetCurSel()==7) csql.Format("SELECT * FROM Projects WHERE

92、Budget>=1000000");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  RefreshData(csql);//該函數(shù)根據(jù)后面的參數(shù)csql顯示查詢的數(shù)據(jù)</p><p><b>  }</b

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論