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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、t;  概念結(jié)構(gòu)設(shè)計(E-R圖)</p><p><b>  邏輯結(jié)構(gòu)設(shè)計</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è)計</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是常用于查詢且更新較少的列,故建一個唯一索引</p><p>  CREATE UNIQUE INDEX Pr

16、ovidersNO ON Providers(Provider_No);</p><p>  創(chuàng)建Projects(工程項目)表</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是常用于查詢且更新較少的列,故建一個唯一索引</p><p>  CREATE UNIQUE INDEX ProjectNO ON Projects(Project_No);</p><p>  創(chuàng)建Employees(工程負責(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是常用于查詢且更新較少的列,故建一個唯一索引</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是常用于查詢且更新較少的列,故建一個唯一索引</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ù)庫的實施和維護</b></p><p>  本系統(tǒng)的運行環(huán)境為Visual C++ 6.0,</p><p>  1程序執(zhí)行后彈出系統(tǒng)的登錄界面,如下圖所示:</

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

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

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

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

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

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

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

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

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

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

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

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

44、己做了就一定會有收獲的!細節(jié)決定一個程序的好壞與成敗!</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對象的指針:</p><p>  // 創(chuàng)建Connection對象</p><p>  m_pConnection.CreateInstance("ADODB.Connection");</p><p>  // 設(shè)置連接字符串,必須是BSTR型或者_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>  // 顯示錯誤信息</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對象為空,則重新連接數(shù)據(jù)庫</p><

51、;p>  if(m_pConnection==NULL)</p><p>  OnInitADOConn();</p><p>  // 創(chuàng)建記錄集對象</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>  // 顯示錯誤信息</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對象的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-存儲過程;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>  ②CDeal類面向Deal表,下面的函數(shù)用于向Deal表插入數(shù)據(jù)</p><p>  void CDeal::sql_ins

62、ert()</p><p><b>  {</b></p><p>  //聲明一個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語句有點變化,故不再一一列出</p><p>  ③下面是工程負責(zé)人管理對話框函數(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;//聲明一個負責(zé)人編輯對話框變量</p><p>  //buttonflag是CEmpEditDlg類中的一個標(biāo)志,為1時表示要把輸入</p><p>  //的數(shù)據(jù)插入Employees表,為-0時表示更新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);//獲取負責(zé)人的編號</p><p>  CEmplo

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

74、</p><p>  RefreshData();</p><p><b>  }</b></p><p><b>  }</b></p><p>  注:其余管理對話框的代碼類似,不再贅述</p><p> ?、芤韵率遣樵児こ绦畔⒌膶υ捒虼a</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("請選中查詢的條件!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b

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

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

80、輸入工程項目編號!");</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://選擇按工程項目名稱查詢</p><p>  if(m_SearchOption=="")</p><p><b>  {</b></p><p&

82、gt;  MessageBox("請輸入工程項目名稱!");</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://選擇按開工時間查詢</p><p>  if(m_Start_Time==0)</p><p><b>  { </b></p&

84、gt;<p>  MessageBox("請選擇開工時間!");</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("請選擇資金預(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論