

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計--商品進銷存管理系統(tǒng)
- 進銷存管理數(shù)據(jù)庫課程設(shè)計
- 藥品進銷存管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--醫(yī)院藥品進銷存系統(tǒng)
- 數(shù)據(jù)庫進銷存管理系統(tǒng)設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--醫(yī)院藥品進銷存系統(tǒng)
- 網(wǎng)站進銷存數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計--進銷存管理系統(tǒng)需求分析與設(shè)計
- 數(shù)據(jù)庫原理與應(yīng)用課程設(shè)計--商店進銷存管理系統(tǒng)
- 某家具城進銷存管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--- 百貨進銷存信息管理系統(tǒng)
- 數(shù)據(jù)庫應(yīng)用技術(shù)課程設(shè)計--超市進銷存管理
- 進銷存管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫畢業(yè)設(shè)計---商品進銷存管理系統(tǒng)設(shè)計
- 課程設(shè)計---進銷存管理系統(tǒng)設(shè)計
- 住院管理系統(tǒng)-數(shù)據(jù)庫系統(tǒng)課程設(shè)計
- 超市進銷存管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--超市進銷管理系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫系統(tǒng)課程設(shè)計
評論
0/150
提交評論