![實(shí)驗(yàn)15簡單數(shù)據(jù)庫的應(yīng)用程序開發(fā)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a5b626f7-195c-4a6c-b449-84736aad8716/a5b626f7-195c-4a6c-b449-84736aad87161.gif)
![實(shí)驗(yàn)15簡單數(shù)據(jù)庫的應(yīng)用程序開發(fā)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a5b626f7-195c-4a6c-b449-84736aad8716/a5b626f7-195c-4a6c-b449-84736aad87162.gif)
![實(shí)驗(yàn)15簡單數(shù)據(jù)庫的應(yīng)用程序開發(fā)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a5b626f7-195c-4a6c-b449-84736aad8716/a5b626f7-195c-4a6c-b449-84736aad87163.gif)
![實(shí)驗(yàn)15簡單數(shù)據(jù)庫的應(yīng)用程序開發(fā)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a5b626f7-195c-4a6c-b449-84736aad8716/a5b626f7-195c-4a6c-b449-84736aad87164.gif)
![實(shí)驗(yàn)15簡單數(shù)據(jù)庫的應(yīng)用程序開發(fā)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a5b626f7-195c-4a6c-b449-84736aad8716/a5b626f7-195c-4a6c-b449-84736aad87165.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn) 15 簡單數(shù)據(jù)庫應(yīng)用程序開發(fā)、目的與要求 :1)了解實(shí)際數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程;2)掌握ODB(數(shù)據(jù)源的建立方法;4)初步掌握數(shù)據(jù)庫應(yīng)用程序的基本方法;開發(fā)一個簡單的數(shù)據(jù)庫應(yīng)用程序。5)二、背景知識用戶與 DBMS 交互,一種方式是直接借助 DBMS 系統(tǒng),采用 SQL 命令進(jìn)行,另一種 方式是用戶通過數(shù)據(jù)庫應(yīng)用程序與 DBMS 交互,對非計算機(jī)專業(yè)用戶來說,這是最簡單的 方式。數(shù)據(jù)庫應(yīng)用程序通過一定方式與數(shù)據(jù)庫建立連接,然后與DBMS 建立交互。數(shù)據(jù)庫應(yīng)用程序的開發(fā)是信息系統(tǒng)建設(shè)的重要組成部分。數(shù)據(jù)庫應(yīng)用程序與 DBMS 可以通過一系列的應(yīng)用程序接口 (Application Pro
2、grammingIn terface, API)進(jìn)行通信,通過API調(diào)用傳遞SQL語句給DBMS,并使用API調(diào)用檢索結(jié)果。 常用的數(shù)據(jù)庫應(yīng)用編程接口有ODBC、JDBC、ADO、ADO.NET和 OLE DB 等。目前數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中通常使用兩種體系結(jié)構(gòu)即客戶機(jī)/服務(wù)器( Client/Server,C/S)結(jié)構(gòu)和瀏覽器/服務(wù)器(Browser/Server, B/S)結(jié)構(gòu)。C/S 結(jié)構(gòu)的服務(wù)器上安裝數(shù)據(jù)庫及數(shù)據(jù)庫管理系統(tǒng),用于執(zhí)行 庫服務(wù)器;而客戶機(jī)則安裝 用,稱為客戶機(jī)。一般系統(tǒng)由一臺數(shù)據(jù)庫服務(wù)器和多臺客戶機(jī)組成。DBMS 功能,稱為數(shù)據(jù)DBMS 的外圍應(yīng)用開發(fā)工具即客戶端應(yīng)用程序,
3、支持用戶的應(yīng)B/S 結(jié)構(gòu)是隨著數(shù)據(jù)庫應(yīng)用系統(tǒng)規(guī)模的擴(kuò)大和 Internet 的迅速普及而產(chǎn)生的體系結(jié)構(gòu),在B/S結(jié)構(gòu)中,客戶機(jī)上只要安裝瀏覽器如In ternet Expl ORer或Netsca pe NavigatOR,數(shù)據(jù)庫服務(wù)器上安裝 DBMS 和數(shù)據(jù)庫,用戶界面完全通過 WWW 瀏覽器實(shí)現(xiàn),應(yīng)用邏輯在 Web 服務(wù)器端實(shí)現(xiàn)。瀏覽器通過 Web 服務(wù)器同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)不同,其開發(fā)工具也有所不同。目前比較主流的C/S結(jié)構(gòu)前端開發(fā)工具有 Delphi 、 Visual Basic、 Visual Basic.NET 、 等。而B/S結(jié)構(gòu)的開發(fā)工具有 ASP、A
4、SP.NET、JSP和 過 API 如 ODBC 、 JDBC、 ADO 、 ADO.NET 和 OLE DBVisual C+ 、JAVA 和 PowerBuilder PHP 等。在開發(fā)工具中通??梢酝?等接口建立與后臺數(shù)據(jù)庫的連接。三、實(shí)驗(yàn)內(nèi)容開發(fā)一個簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng),針對 EDUC 數(shù)據(jù)庫,開發(fā)其簡單的應(yīng)用程序界面, 能夠?qū)ζ渲械谋頂?shù)據(jù)進(jìn)行操作。系統(tǒng)采用C/S體系結(jié)構(gòu),客戶端負(fù)責(zé)提供表達(dá)邏輯、戶界面信息、訪問數(shù)據(jù)庫服務(wù)器,自選一種開發(fā)工具 (Visual C+,Visual Basic 或 Delphi) ;服 務(wù)器端則用于提供數(shù)據(jù)服務(wù),采用 SQL Server2005 作為數(shù)據(jù)
5、庫管理系統(tǒng)。 四、實(shí)驗(yàn)步驟顯示用選擇的開發(fā)工具不同, 應(yīng)用程序與數(shù)據(jù)庫的連接方式及應(yīng)用程序的編寫方式就不同,3)掌握在不同開發(fā)工具中使用 ODBC 或 ADO 等技術(shù)連接數(shù)據(jù)庫的基本方法;面列舉在Visual C+工具下簡單應(yīng)用界面的設(shè)計方法。1. 建立ODBC數(shù)據(jù)源在介紹具體方案之前,先為EDUC數(shù)據(jù)庫建立 ODBC數(shù)據(jù)源。方法如下:15-1(1)在Windows XP中選擇“開始” I “控制面板” I “管理工具”命令,出現(xiàn)如圖所示的“管理工具”窗口。Xitfj aafj SI (uQ 馴 E” U T y »-3 BiS也卜Stt(Q IM#瞥-Xrtd H3TTn-ST15
6、; litJl饕嚴(yán)料炬 XJ ILTH 月V Q n£j園!略云sp i 果IS UH I 丈ff EH stattiiwH興于UgE_I莊換 削沁缶ErlEbiLffiS 刃L RE-pirShod 輩L HTTir砂 qp. I !«(£)IMM I圖15-1 “管理工具”窗口圖15-2 “系統(tǒng)dsn選項(xiàng)卡窗(2)雙擊“ ODBC數(shù)據(jù)源”,打開“ ODBC數(shù)據(jù)源管理器”對話框;選擇“系統(tǒng)DSN ”選項(xiàng)卡,如圖15-2所示。(3)單擊“添加”按鈕,出現(xiàn)如圖15-3所示的對話框;選擇SQL Server選項(xiàng),單擊“完成”按鈕。(4)出現(xiàn)“創(chuàng)建到SQL Server
7、的新數(shù)據(jù)源”對話框,如圖15-4所示;在“名稱”文本框中輸入XSGL,單擊“下一步”按鈕。源”對話框( Jtf)I CDEC for Oriel-L Tiridix DrLirr t.Jt >I. TvLdrt-Ttubtt !> >n )I. tul Iffcrtr C*. tul: t. Mv) L+ C* iTt: *t 補(bǔ)inti&Tivrt risui止燈圖15-3 “創(chuàng)建新數(shù)據(jù)源”對話框Sa®- IT生waS314S»-t- SULE萬頓:畫>Tn|S3|HFZSa圖15-4“創(chuàng)建到SQL Server的新數(shù)據(jù)(5)出現(xiàn)連接SQL
8、 Server認(rèn)證的輸入框,選擇“使用用戶輸入登錄ID和密碼的SQLServer驗(yàn)證”單選按鈕,在“登錄ID ”文本框中輸入sa,在“密碼”文本框中輸入服務(wù)器登錄密碼,單擊“下一步”按鈕,進(jìn)入選擇數(shù)據(jù)庫的對話框。(6 )選中“更改默認(rèn)的數(shù)據(jù)庫為”復(fù)選框,從其下方的下拉列表框中選擇數(shù)據(jù)庫為XSGL,不更改其他默認(rèn)設(shè)置。設(shè)置完畢后,單擊“下一步”按鈕,進(jìn)入設(shè)置ODBC對話框,如圖15-5所示。保持默認(rèn)選項(xiàng),單擊“完成”按鈕,(7)出現(xiàn)ODBC配置的確認(rèn)對話框,如圖15-6所示。單擊“測試數(shù)據(jù)源”按鈕,即“確定”按鈕。如果測試成功,則表示ODBC數(shù)據(jù)源彈出一個關(guān)于測試結(jié)果對話框,單擊 educ已經(jīng)建
9、成。Vi94L Srmrr 宣裝I期3骨用Iffil弓囲曬屈Qjh7 覿幀F(xiàn)遵SV言卽+圖15-5“創(chuàng)建到SQL Server的新數(shù)據(jù)源”對話框圖15-6 ODBC配置確認(rèn)對話框系統(tǒng)歡迎界面; 登錄界面;應(yīng)用程序主界面(菜單、工具欄等);應(yīng)用程序的其它界面如數(shù)據(jù)維護(hù)、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計等; 報表設(shè)計;對于數(shù)據(jù)訪問界面,一般的步驟如下:(1)(6)建立工程項(xiàng)目;界面窗口設(shè)計;添加數(shù)據(jù)庫連接控件。 添加數(shù)據(jù)顯示控件。修改控件屬性,把控件和數(shù)據(jù)庫綁定。利用控件直接操作數(shù)據(jù)庫。退出宿主語言后,在 DBMS環(huán)境下觀察數(shù)據(jù)庫的變化。在開發(fā)工具編程環(huán)境下為事件增加程序代碼,實(shí)現(xiàn)對數(shù)據(jù)庫的操縱。F面分別介紹幾
10、種不同開發(fā)工具下與數(shù)據(jù)庫連(7)具體方法請參閱相關(guān)開發(fā)工具的參考書。 接的方法和簡單應(yīng)用程序界面設(shè)計的基本方法。包括增加新的記錄、刪除記錄、修改記錄。方案一:采用 Visual C+作為前端開發(fā)工具在VC下開發(fā)基于ADO的數(shù)據(jù)庫要稍微復(fù)雜一些, 課管理系統(tǒng),采用三層模式進(jìn)行開發(fā)。即數(shù)據(jù)層,業(yè)務(wù)層, 本步驟作一個簡單介紹:(1) 導(dǎo)入ADO動態(tài)鏈接庫msado15.dll到本次開發(fā)基于C/S體系結(jié)構(gòu)的學(xué)生選界面層。下面關(guān)于開發(fā)的一些基“StdAfx.h ”文件中,以便工程編譯完2.建立數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)源建立后,可進(jìn)行簡單數(shù)據(jù)庫應(yīng)用程序的編寫。選擇應(yīng)用程序開發(fā)工具, 然后實(shí)現(xiàn)如下功能:(1)(2
11、)(3)后,自動生成對 ADO 對象的封裝:添加步驟:(I ) 根據(jù)安裝系統(tǒng)盤的路徑,查找至U c:program files'common filessystemadomsado15.dll 文件(n)在“ StdAfx.h ”文件中,添加一條語句:#impORt "c:program filescommonrename("EOF","adoEOF")說明:(A) 重命名 EOF 是必要的,因?yàn)榈湫偷?B) ADO 類的定義是作為一種資源存儲在filessystemadomsado15.dll" no_namespaceVC
12、 應(yīng)用都已經(jīng)定義了 EOF 作為常數(shù) 1。ADO DLL(msado15.dll )中,在其內(nèi)部稱為類型庫。類型庫描述了自治接口,以及C+使用的COM vtable接口。當(dāng)使用# impORt指令時,在運(yùn)行時 Visual C + +需要從 ADO DLL中讀取這個類型庫,并以此創(chuàng)建一組C+頭文件。這些頭文件具有.tli和.tlh擴(kuò)展名,讀者可以在項(xiàng)目的DEBUG目錄下找到這兩個文件。在C+程序代碼中調(diào)用的ADO類要在這些文件中定義。(2)建立數(shù)據(jù)層類,實(shí)現(xiàn)與數(shù)據(jù)庫的連接、數(shù)據(jù)插入、刪除、查詢、數(shù)據(jù)更新操作。class ADOConnpublic:_ConnectionPtr m_pConne
13、ction; /添加一個指向 Connection 對象的指針_RecORdset Ptr m_p RecORdset; /添加一個指向 RecORdset 對象的指針/ 定義各種方法,實(shí)現(xiàn)數(shù)據(jù)庫的連接,數(shù)據(jù)的查詢,數(shù)據(jù)的增刪改ADOConn();virtual ADOConn();/ 初始化連接void OnInitADOConn();_RecORdsetPtr& GetRecORdSet(_bstr_t bstrSQL); / 執(zhí)行查詢BOOL ExecuteSQL(_bstr_t bstrSQL); / 執(zhí)行增刪改 SQL 語句,In sert Up date _varia nt
14、_t void ExitConnect();/退出數(shù)據(jù)庫連接;ADOConn:ADOConn()ADOConn:ADOConn()/ 初始化數(shù)據(jù)庫連接方法void ADOConn:OnInitADOConn()/ 初始化 OLE/COM 庫環(huán)境 , 由于 ADO 庫是一組 COM 動態(tài)庫, 應(yīng)用程序在調(diào)用 ADO 前,必須先初始化 OLE/COM 庫環(huán)境,以便使調(diào)用 COM 的 API 工作正常。:CoInitialize(NULL);try m_pConnection.CreateInstance("ADODB.Connection"); / 創(chuàng)建 Connection
15、對象/ 設(shè)置連接字符串,提供 DBMS 名稱,數(shù)據(jù)庫服務(wù)器所在位置,數(shù)據(jù)庫的名稱, 用戶名,口令_bstr_t strConnect = "driver=SQL Server; Server=; DATABASE=XSGL; UID=sa;PWD= ;"m_pConnection->Open(strConnect,"","",adModeUnknown);/ 捕捉異常 catch(_com_errOR e) AfxMessageBox(e.Description();/ 對數(shù)據(jù)庫執(zhí)行查詢的方法_RecORdse
16、tPtr& ADOConn:GetRecORdSet(_bstr_t bstrSQL) /將查詢表達(dá)式作為參數(shù) 傳遞 try / 連接數(shù)據(jù)庫,如果 Connection 對象為空,則重新連接數(shù)據(jù)庫 if(m_pConnection=NULL)OnInitADOConn();/ 創(chuàng)建記錄集對象 m_pRecORdset.CreateInstance("ADODB.RecORdset");/ 取得表中的記錄 m_pRecORdset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLock
17、O ptimistic,adCmdText);/ 捕捉異常 catch(_com_errOR e) AfxMessageBox(e.Description();/ 返回記錄集指針return m_pRecORdset;/ 對數(shù)據(jù)庫執(zhí)行插入、刪除、數(shù)據(jù)更新操作SQL 命令的方法BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL) /將 SQL 命令作為參數(shù)傳遞 tryif(m_pConnection = NULL) OnInitADOConn();m_pConnection->Execute(bstrSQL,NULL,adCmdText); return tru
18、e;catch(_com_errOR e)AfxMessageBox(e.Description(); return false;void ADOConn:ExitConnect()/ 關(guān)閉記錄集和連接if (m_pRecORdset != NULL) m_pRecORdset->Close();m_pConnection->Close();/ 釋放環(huán)境:CoUninitialize();(3)建立業(yè)務(wù)層:在 XSGL 信息系統(tǒng)中,學(xué)生表有插入、刪除、數(shù)據(jù)更新這樣的業(yè)務(wù)需求,因此,對數(shù)據(jù) 庫中的課程表建立一個課程業(yè)務(wù)類, 封裝相應(yīng)的方法,以保證數(shù)據(jù)能夠正確操作。 同樣,課 程表與選
19、課表也有類似的業(yè)務(wù)需求,也需要建立相應(yīng)的業(yè)務(wù)類。class coursepublic:CString cno,cname,tname,room; / 對應(yīng)表中的字段int credit; / 對應(yīng)表中的字段course();virtual course();void sql_insert();void sql_delete(CString icno);void sql_update(CString icno);/ 按課程編號,判斷是否存在相同紀(jì)錄int havecno(CString icno);#include "ADOConn.h"course:course()cour
20、se:course()/課程業(yè)務(wù)類插入數(shù)據(jù)的接口,在此接口中,調(diào)用數(shù)據(jù)層類,將數(shù)據(jù)插入到數(shù)據(jù)庫中 void course:sql_insert()ADOConn adoconn;adoconn.OnInitADOConn();_bstr_t sqltemp;CString tempcredit; /_bstr_t 中只支持字符串的相加操作,所以必須把數(shù)值轉(zhuǎn)換成字符串tempcredit.FORmat("%f", credit );sqltemp="insert into course values('"+cno+"','
21、"+cname+"','"+tname+ "',"+ tempcredit +",'"+ room +"')"adoconn.ExecuteSQL(sqltemp); adoconn.ExitConnect();/課程業(yè)務(wù)類刪除數(shù)據(jù)的接口,在此接口中,調(diào)用數(shù)據(jù)層類,將數(shù)據(jù)從數(shù)據(jù)庫中刪除void course:sql_delete(CString icno)ADOConn adoconn;adoconn.OnInitADOConn();_bstr_t sqltemp;
22、sqltemp="delete from course where cno='"+icno+"'"adoconn.ExecuteSQL(sqltemp);adoconn.ExitConnect();/課程業(yè)務(wù)類更新數(shù)據(jù)的接口,在此接口中,調(diào)用數(shù)據(jù)層類,更新數(shù)據(jù)庫中的數(shù)據(jù)void course:sql_update(CString icno)ADOConn adoconn;adoconn.OnInitADOConn();_bstr_t sqltemp;sqltemp="update course set cname='&q
23、uot;+cname+"',tname='"+tname+"' where cno='"+icno+"'" adoconn.ExecuteSQL(sqltemp);adoconn.ExitConnect();/ 按課程編號,判斷是否存在相同紀(jì)錄int course:havecno(CString icno)/根據(jù)當(dāng)前用戶輸入的課程號,判斷能否插入當(dāng)前記錄;如果存在,重新輸入,否則插 入ADOConn adoconn;_bstr_t sql;sql="select * from cour
24、se where cno='"+icno+"'"_RecORdsetPtr m_precORdset; m_precORdset=adoconn.GetRecORdSet(sql); if(m_precORdset->adoEOF)return -1;elsereturn 1; adoconn.ExitConnect(); ( 4 )建立表示層: 針對業(yè)務(wù)需求,建立相應(yīng)的窗體,如:課程(學(xué)生、選課)輸入、修改、刪除窗體,這類窗體和數(shù)據(jù)庫的數(shù)據(jù)傳遞,通過相應(yīng)的業(yè)務(wù)類實(shí)現(xiàn),所有信息的查詢窗體,可以通過控件較輕松地實(shí)現(xiàn)。添加課程記錄界面的實(shí)現(xiàn)首先建
25、立如圖15-22所示的對話窗DataGrid(B)CStri ngCStri ngCStri ngintCStri ng在與對話窗對應(yīng)的類m_cno; m_cn ame; m_cteacher; m_credit; m_room;圖15-22添加課程紀(jì)錄界面interface_course中,添加如下所示的成員變量:Dluluipnwffi邸F臥 1最出在插入控件響應(yīng)函數(shù)中,添加如下的代碼:void in terface_course:O nin sert()Up dateData(1);獲得用戶界面輸入的信息course temp;/定義課程類的對象if(m_cno=""
26、)MessageBox("課程編號不能為空"); return;cname="" if(m.MessageBox("課程名不能為空"); return;if(m_cteacher="")MessageBox("任課教師不能為空"); return; if(m_credit=O)MessageBox("學(xué)分不能為空"); return;if(m_credit>5 && m_credit<0)MessageBox("學(xué)分必須在0.5-5的范圍
27、內(nèi)"); return;if(m_room="”)MessageBox("教室不能為空”); return;if(tem p.havecno(m_cno)=1)MessageBox("該課程編號已存在”);return;o=m_cno; ame=m_c name;temp .credit=m_credit;temp .t name=m_cteacher;temp .room=m_room;temp .sql_insert(); II調(diào)用課程類對象的插入函數(shù),將表示層數(shù)據(jù)傳送到數(shù)據(jù)庫中if(te mp .havec no(m_cno)=1)MessageB
28、ox("添加成功!");else MessageBox("添加失??! ”);IICDialog:O nOK();說明:課程的刪除、修改方法與此類似,不再詳細(xì)介紹。(n)查詢界面的實(shí)現(xiàn)查詢的實(shí)現(xiàn),可以通過使用ADO DATA等控件方法實(shí)現(xiàn),減少編程代碼,同時,為了減少網(wǎng)絡(luò)流量,建議使用存儲過程,因?yàn)榇鎯^程是在服務(wù)器端實(shí)現(xiàn)的,只需要傳遞用戶需要的數(shù)據(jù)。下面介紹“按學(xué)生名模糊查詢學(xué)生名單”的設(shè)計及實(shí)現(xiàn)方法。DlaL<£|i :苫詢;退出 I學(xué)號 ?U<1?nD?G 2D0201S2 2Q0201SE 2002022年齡20020117jmnppnnI tt-3 tfT if fl?' T ss *廠H” Adodi圖15-23按學(xué)生名模糊查詢學(xué)生窗體(A )首先建立如圖所示的對話窗(B)在與對話窗對應(yīng)的類interface_snamechaxun中,添加如下所示的成員變量:CStri ngm_sn ame;CAdodc m_ad;在查詢控
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年城市綠地碳匯監(jiān)測系統(tǒng)行業(yè)跨境出海戰(zhàn)略研究報告
- 2025年光幕感測器項(xiàng)目可行性研究報告
- 2025至2030年輪斗移吸式挖泥船項(xiàng)目投資價值分析報告
- 2025年干粉投加設(shè)備項(xiàng)目可行性研究報告
- 2025至2030年精密過濾器項(xiàng)目投資價值分析報告
- 2025年中國圓孔推拉刀市場調(diào)查研究報告
- 2025至2030年高頻有無線智能轉(zhuǎn)接器項(xiàng)目投資價值分析報告
- 2025年物業(yè)鋰電池儲能系統(tǒng)維護(hù)檢修協(xié)議
- 2025年物業(yè)飲用水衛(wèi)生安全檢測服務(wù)協(xié)議
- 2025年度辦公室助理及行政服務(wù)全面合作協(xié)議
- 湖南省長沙市一中2024-2025學(xué)年高一生物上學(xué)期期末考試試題含解析
- 碳纖維增強(qiáng)復(fù)合材料在海洋工程中的應(yīng)用情況
- 公司市場分析管理制度
- 焊接材料制造工-國家職業(yè)標(biāo)準(zhǔn)(2024版)
- 江西省2024年中考數(shù)學(xué)試卷(含答案)
- 2024年200MW-400MWh電化學(xué)儲能電站設(shè)計方案
- 余土外運(yùn)施工方案
- 中考英語1600詞匯對照表-(帶音標(biāo))
- 虛擬化與云計算技術(shù)應(yīng)用實(shí)踐項(xiàng)目化教程 課件全套 陳寶文 項(xiàng)目1-8 虛擬化與云計算導(dǎo)論- 騰訊云服務(wù)
- JJG 705-2014液相色譜儀行業(yè)標(biāo)準(zhǔn)
- 人工智能小學(xué)生科普書
評論
0/150
提交評論