




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE45目錄第一章系統(tǒng)概述………………...11.1倉(cāng)庫(kù)管理信息系統(tǒng)的特點(diǎn) 11.2系統(tǒng)功能與應(yīng)用背景 1第二章系統(tǒng)設(shè)計(jì)………………..22.1系統(tǒng)設(shè)計(jì)思想 22.2系統(tǒng)功能模塊設(shè)計(jì) 22.3數(shù)據(jù)庫(kù)設(shè)計(jì) 4第三章登錄界面與模塊設(shè)計(jì)…………………..63.1登錄界面設(shè)計(jì) 73.2用戶模塊設(shè)計(jì) 93.3系統(tǒng)模塊設(shè)計(jì) 11第四章物資信息管理…………154.1添加物資信息 154.2瀏覽物資信息 174.3修改物資信息 194.4查詢物資信息 20第五章入庫(kù)信息管理…………225.1添加入庫(kù)信息 225.2瀏覽如信息 255.3修改入庫(kù)信息 275.4查詢?nèi)霂?kù)信息 28第六章出庫(kù)信息管理…………306.1添加出出庫(kù)信息 316.2瀏覽出庫(kù)信息 336.3修改出庫(kù)信息 356.4查詢出庫(kù)信息 37第七章庫(kù)存信息管理………….397.1瀏覽庫(kù)存信息 397.2查詢庫(kù)存信息 40設(shè)計(jì)總結(jié)………………………..43致謝……………...44參考文獻(xiàn)………………………...44.第一章系統(tǒng)概述1.1倉(cāng)庫(kù)管理信息系統(tǒng)的特點(diǎn)本倉(cāng)庫(kù)管理信息系統(tǒng)具有一下特點(diǎn):●實(shí)現(xiàn)倉(cāng)庫(kù)物資的入庫(kù)、出庫(kù)、查詢等操作;●實(shí)現(xiàn)用戶權(quán)限管理提高系統(tǒng)安全性;●界面設(shè)計(jì)簡(jiǎn)單、操作方便;本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)采用MicrosoftAccess,前臺(tái)采用VisualC#作為主要開(kāi)發(fā)工具。采用ADO技術(shù)鏈接數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)的一系列操作。本系統(tǒng)按照面向?qū)ο蟮乃枷耄M(jìn)行程序開(kāi)發(fā),程序設(shè)計(jì)調(diào)理清楚。1.2系統(tǒng)功能與應(yīng)用背景倉(cāng)庫(kù)關(guān)系系統(tǒng)在企業(yè)的整個(gè)管理過(guò)程中起著至關(guān)重要的作用,如果不能保證正確的進(jìn)貨、庫(kù)存控制及發(fā)貨,將會(huì)導(dǎo)致管理費(fèi)用的增加,服務(wù)質(zhì)量也難以得到保證,從而影響企業(yè)的競(jìng)爭(zhēng)力。倉(cāng)庫(kù)管理涉及計(jì)劃、物料平衡、采購(gòu)、入庫(kù)、出庫(kù)、庫(kù)存等業(yè)務(wù),這些業(yè)務(wù)涉及大量的數(shù)據(jù)和信息,而且對(duì)這些數(shù)據(jù)和信息的準(zhǔn)確性、及時(shí)性都要求非常高,任何錯(cuò)誤和遺漏都會(huì)造成公司的損失,若采用純?nèi)斯さ姆椒ㄟM(jìn)行管理有一定的難道。因此,采用計(jì)算機(jī)技術(shù)實(shí)現(xiàn)倉(cāng)庫(kù)管理,是提高公司管理水平的有效方法。倉(cāng)庫(kù)管理信息系統(tǒng)能夠提高倉(cāng)庫(kù)管理的質(zhì)量和效率,降低倉(cāng)庫(kù)管理信息系統(tǒng)的成本,以合理庫(kù)存量控制庫(kù)存和采購(gòu)。其功能包括采購(gòu)申請(qǐng)、物品收發(fā)與報(bào)廢、庫(kù)存管理、往來(lái)單位、部門及人員管理等。本倉(cāng)庫(kù)管理信息系統(tǒng)完成的主要功能有:權(quán)限控制;倉(cāng)庫(kù)物資信息設(shè)置;入庫(kù)管理;出庫(kù)管理;庫(kù)存管理;不同的單位有不同的需求,本系統(tǒng)大體上能瞞住一下幾方面的需求:用戶的信息需求:隨時(shí)查詢庫(kù)存狀況,進(jìn)行庫(kù)存物資匯總,對(duì)庫(kù)存數(shù)據(jù)能夠隨時(shí)進(jìn)行刪除、插入及恢復(fù)操作;用戶的處理需求:能隨時(shí)添加、刪除、修改每一條庫(kù)存記錄。第二章系統(tǒng)設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)思想 本系統(tǒng)只要完成對(duì)倉(cāng)庫(kù)的庫(kù)存管理,包括入庫(kù)、出庫(kù)、庫(kù)存以及密碼管理等幾個(gè)方面,系統(tǒng)可以完成各類信息的瀏覽、查詢、添加、刪除、修改等操作。系統(tǒng)的核心是入庫(kù)、庫(kù)存和出庫(kù)之間的關(guān)系,每個(gè)數(shù)據(jù)庫(kù)表的修改都將影響到其他的表,當(dāng)完成入庫(kù)或出庫(kù)操作時(shí),庫(kù)存信息會(huì)自動(dòng)修改。2.2系統(tǒng)功能模塊設(shè)計(jì)根據(jù)系統(tǒng)的設(shè)計(jì)思想,本系統(tǒng)完成的主要功能有:庫(kù)存物資基本信息、物資入庫(kù)信息和物資出庫(kù)信息的輸入、查詢、修改,以及庫(kù)存余額信息的查詢等。因此系統(tǒng)由物資信息設(shè)置、入庫(kù)管理、出庫(kù)管理和庫(kù)存管理等模塊。物資信息設(shè)置模塊可以刪除、添加、修改和查詢物資的基本信息。入庫(kù)管理模塊可以刪除、添加、修改和查詢物資的入庫(kù)信息。出庫(kù)管理模塊可以刪除、添加、修改和查詢物資的出庫(kù)信息。庫(kù)存管理模塊可以瀏覽、查詢物資的庫(kù)存信息倉(cāng)庫(kù)管理信息系統(tǒng)的系統(tǒng)功能結(jié)構(gòu)如圖2-1所示。圖2-1系統(tǒng)功能結(jié)構(gòu)圖分析各模塊功能,可以得出本系統(tǒng)的數(shù)據(jù)流程圖如圖2-2所示。圖2-2系統(tǒng)數(shù)據(jù)流程圖2.3數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)倉(cāng)庫(kù)管理信息系統(tǒng)的功能要求和數(shù)據(jù)和流程分析,該系統(tǒng)的數(shù)據(jù)庫(kù)命名為StoreMIS,數(shù)據(jù)庫(kù)中包括:①用戶信息表(userinfo);②物資基本信息表(materialinfo);③入庫(kù)信息表(ininfo);④出庫(kù)信息表(outinfo);⑤角色信息表(roles)。下面列出了各個(gè)表的數(shù)據(jù)結(jié)構(gòu),如表2-3~表2-8所示。表2-1用戶信息表(userinfo)的數(shù)據(jù)結(jié)構(gòu)字段名類型描述UID文本用戶名(主鍵)PWD文本密碼RoleName文本角色名表2-2物資基本信息表(materialinfo)的數(shù)據(jù)結(jié)構(gòu)字段名類型描述MID文本物資編號(hào)(主鍵)MName文本物資名稱MModel文本物資型號(hào)MTpe文本類型MUnit文本單位表2-3入庫(kù)信息表(ininfo)的數(shù)據(jù)結(jié)構(gòu)字段名類型描述InID文本入庫(kù)編號(hào)(自動(dòng)編號(hào),主鍵)MID文本物資編號(hào)InAccount文本數(shù)量InPrice文本單價(jià)InValue文本金額InDate時(shí)間入庫(kù)時(shí)間InDealer文本經(jīng)辦人InSaver文本保管人InStore文本倉(cāng)庫(kù)Remark文本備注表2-4出庫(kù)信息表(outinfo)的數(shù)據(jù)結(jié)構(gòu)字段名類型描述OutID文本出庫(kù)編號(hào)(自動(dòng)編號(hào),主鍵)MID文本物資編號(hào)OutAccount文本數(shù)量OutPrice文本單價(jià)OutValue文本金額OutDate時(shí)間入庫(kù)時(shí)間OutDealer文本經(jīng)辦人OutUser文本領(lǐng)取人OutStore文本倉(cāng)庫(kù)Remark文本備注表2-5角色信息表(roles)的數(shù)據(jù)結(jié)構(gòu)字段名類型描述RoleName文本角色名(主鍵)SystemManage是/否系統(tǒng)管理MaterialManage是/否物資管理InManage是/否入庫(kù)管理OutManage是/否出庫(kù)管理一般情況下,數(shù)據(jù)庫(kù)中所包含的表都不是獨(dú)立存在的,二十表與表之間有一定的關(guān)系,成為關(guān)聯(lián)。例如入庫(kù)信息表中的“物資編號(hào)”來(lái)源于物資基本信息表中現(xiàn)有的物資編號(hào),出庫(kù)信息表中的“物資編號(hào)”來(lái)源于物資基本信息表中現(xiàn)有的物資編號(hào)。如果數(shù)據(jù)庫(kù)中的信息不能滿足正常的依賴關(guān)系,就會(huì)破壞數(shù)據(jù)的完整性和一致性。根據(jù)本系統(tǒng)的特點(diǎn),需要依次設(shè)置入庫(kù)信息表與物資基本信息表、出庫(kù)信息表與物資基本信息表之間的關(guān)系,如圖2-3所示。設(shè)置用戶信息表與角色表之間的關(guān)系,如圖2-4所示。圖2-3出、入庫(kù)信息表與物資信息表之間的關(guān)系圖2-4用戶信息表與角色信息表之間的關(guān)系第三章登錄界面與模塊設(shè)計(jì)3.1登錄界面設(shè)計(jì)系統(tǒng)登錄主要用于對(duì)登錄倉(cāng)庫(kù)關(guān)系系統(tǒng)的用戶進(jìn)行安全性檢查和權(quán)限檢查,防止非法用戶登錄系統(tǒng)。在用戶登錄系統(tǒng)時(shí)驗(yàn)證用戶名及其密碼,判斷輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的是否一致,如果一致則允許登錄,否則不允許登錄。并且根據(jù)角色求賦予權(quán)限,一顯示不同的系統(tǒng)主界面。登錄界面如圖3-1所示,輸入用戶名和密碼后,單擊【確定】按鈕。這時(shí)需要驗(yàn)證輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的是否一致并根據(jù)權(quán)限描述,進(jìn)入系統(tǒng)。確定按鈕的功能代碼如程序-1所示。圖3-1系統(tǒng)管理員和普通管理員登陸的主頁(yè)面有所區(qū)別,系統(tǒng)管理登陸的主頁(yè)面如圖3-2,普通管理員登陸的主頁(yè)面如圖3-3,系統(tǒng)管理員的主頁(yè)面多個(gè)系統(tǒng)管理選項(xiàng),在里面我們可以添加用戶和新建角色。圖3-2圖3-3程序-1【確定】按鈕的代碼privatevoidbutton1_Click(objectsender,System.EventArgse) { if(name.Text.Trim()==""||password.Text.Trim()=="") MessageBox.Show("請(qǐng)輸入用戶名和密碼","提示"); else { sqlConnection1.Open(); OleDbCommandcmd=newOleDbCommand("",sqlConnection1); stringsql="selectRoleNamefromuserinfowhereUID='"+name.Text.Trim()+"'andPWD='"+password.Text.Trim()+"'"; cmd.CommandText=sql; stringrolename; if(null!=cmd.ExecuteScalar()) { rolename=cmd.ExecuteScalar().ToString(); //隱藏登錄窗口 this.Visible=false; //創(chuàng)建并打開(kāi)主界面 Mainmain=newMain(); main.Tag=this.FindForm(); sql="select*fromroleswhereRoleName='"+rolename+"'"; OleDbDataReaderdr; cmd.CommandText=sql; dr=cmd.ExecuteReader(); dr.Read(); main.menuItem1.Visible=(bool)(dr.GetValue(1)); main.menuItem4.Visible=(bool)(dr.GetValue(2)); main.menuItem5.Visible=(bool)(dr.GetValue(3)); main.menuItem6.Visible=(bool)(dr.GetValue(4)); main.statusBarPanel5.Text=name.Text.Trim(); main.ShowDialog(); } else MessageBox.Show("用戶名或密碼錯(cuò)誤","警告"); sqlConnection1.Close(); }3.2用戶模塊設(shè)計(jì)在主界面中選擇【用戶管理】|【修改密碼】命令菜單,即可進(jìn)入修改密碼界面如圖3-4所示。在該界面中用戶可以修改自己的密碼,修改密碼的代碼如程序-2所示,單擊【用戶管理】|【重新登錄】命令即可退出當(dāng)前用戶,進(jìn)入登錄界面重新登錄,代碼如程序-3所示。圖3-4修改密碼界面程序-2修改密碼的代碼 privatevoidbtSave_Click(objectsender,System.EventArgse) { if(textName.Text.Trim()==""||textPWD.Text.Trim()==""||textPWDNew.Text.Trim()==""||textPWDNew2.Text.Trim()=="") MessageBox.Show("請(qǐng)?zhí)顚懲暾畔ⅲ?,"提示"); else { oleConnection1.Open(); OleDbCommandcmd=newOleDbCommand("",oleConnection1); stringsql="select*fromuserinfowhereUID='"+textName.Text.Trim()+"'andPWD='"+textPWD.Text.Trim()+"'"; cmd.CommandText=sql; if(null!=cmd.ExecuteScalar()) { if(textPWDNew.Text.Trim()!=textPWDNew2.Text.Trim()) MessageBox.Show("兩次密碼輸入不一致!","警告"); else { stringsql1="updateuserinfosetPWD='"+textPWDNew.Text.Trim()+"'whereUID='"+textName.Text.Trim()+"'"; cmd.CommandText=sql1; cmd.ExecuteNonQuery(); MessageBox.Show("密碼修改成功!","提示"); this.Close(); } } else MessageBox.Show("密碼錯(cuò)誤!","提示"); oleConnection1.Close(); } }程序-3用戶重新登錄代碼privatevoidmenuItem24_Click(objectsender,System.EventArgse) { ((System.Windows.Forms.Form)this.Tag).Visible=true; this.Close(); }3.3系統(tǒng)模塊設(shè)計(jì)在主界面中選擇【系統(tǒng)管理】|【添加用戶】命令菜單,即可進(jìn)入添加用戶界面,如圖3-5所示。圖3-5添加用戶界面在該界面中需要把數(shù)據(jù)庫(kù)中的數(shù)據(jù)和ComboBox空間綁定,這樣用戶就可以設(shè)置用戶名和密碼,并選擇角色。代碼如程序-4所示。程序-4添加用戶的代碼 privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(textName.Text.Trim()==""||textPassword.Text.Trim()==""||textPWDNew.Text.Trim()==""||comRole.Text.Trim()=="") { MessageBox.Show("請(qǐng)輸入完整信息!","警告"); } else { if(textPassword.Text.Trim()!=textPWDNew.Text.Trim()) { MessageBox.Show("兩次密碼輸入不一致!","警告"); } else { sqlConnection1.Open(); OleDbCommandcmd=newOleDbCommand("",sqlConnection1); stringsql="select*fromuserinfowhereUID='"+textName.Text.Trim()+"'"; cmd.CommandText=sql; if(null==cmd.ExecuteScalar()) { stringsql1="insertintouserinfo(UID,PWD,RoleName)"+ "values('"+textName.Text.Trim()+"','"+textPWDNew.Text.Trim()+"','"+comRole.Text.Trim()+"')"; cmd.CommandText=sql1; cmd.ExecuteNonQuery(); MessageBox.Show("添加用戶成功!","提示"); this.Close(); } else MessageBox.Show("用戶名"+textName.Text.Trim()+"已經(jīng)存在!","提示"); sqlConnection1.Close(); } } } privatevoidAddUser_Load(objectsender,System.EventArgse) {//數(shù)據(jù)綁定 DataSetds=newDataSet(); OleDbDataAdapteradp=newOleDbDataAdapter("",sqlConnection1); adp.SelectCommand.CommandText="selectRoleNamefromroles"; adp.Fill(ds); comRole.DataSource=ds.Tables[0].DefaultView; comRole.DisplayMember="RoleName"; comRole.ValueMember="RoleName"; } }}選擇【系統(tǒng)管理】|【新建角色】命令菜單,即可進(jìn)入新建角色界面,如圖3-6所示。圖3-6新建角色界面在該界面中,用戶可以設(shè)置角色名稱,并為每個(gè)角色選擇權(quán)限,根據(jù)權(quán)限的不同,用戶可以進(jìn)入的界面也會(huì)不同。代碼如程序-5所示。程序-5新建角色的代碼 privatevoidbtClose_Click(objectsender,System.EventArgse) { this.Close(); } privatevoidbtAdd_Click(objectsender,System.EventArgse) { sqlConnection1.Open(); OleDbCommandcmd=newOleDbCommand("",sqlConnection1); if(textRole.Text.Trim()!="") { stringsql="select*fromroleswhereRoleName='"+textRole.Text.Trim()+"'"; cmd.CommandText=sql; if(null==cmd.ExecuteScalar()) { stringsql1="insertintorolesvalues('"+textRole.Text.Trim()+"',"+ckSys.Checked+","+ckMate.Checked+","+ ""+ckIn.Checked+","+ckOut.Checked+")"; cmd.CommandText=sql1; cmd.ExecuteNonQuery(); MessageBox.Show("新建角色成功!","提示"); } else MessageBox.Show("角色名稱重復(fù)!","警告"); } else MessageBox.Show("角色名稱不能為空!","警告"); sqlConnection1.Close(); }第四章物資信息管理4.1添加物資信息在主界面中選擇【物資信息管理】|【添加物資信息】命令菜單即可進(jìn)入添加物資信息界面,如圖4-1所示。圖4-1添加物資信息界面在這個(gè)界面完成物資信息錄入的過(guò)程中,需要解決的問(wèn)題包括:物資信息標(biāo)號(hào)不能為空字符串,新添加的物資編號(hào)不能與已有的物資編號(hào)重復(fù),否則會(huì)給出警告提示。單擊【確定】按鈕,就把填寫的數(shù)據(jù)保存到相應(yīng)的數(shù)據(jù)庫(kù)表中,代碼如程序-6所示。程序-6物資信息添加的代碼 privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(textID.Text.Trim()=="") MessageBox.Show("請(qǐng)輸入物資編號(hào)!","提示"); else { oleConnection1.Open(); stringsql="select*frommaterialinfowhereMID='"+textID.Text.Trim()+"'"; this.oleCommand1.CommandText=sql; if(null==oleCommand1.ExecuteScalar()) { stringsql1="insertintomaterialinfovalues('"+textID.Text.Trim()+"','"+textName.Text.Trim()+"',"+ "'"+textModel.Text.Trim()+"','"+textType.Text.Trim()+"','"+textUnit.Text.Trim()+"')"; oleCommand1.CommandText=sql1; oleCommand1.ExecuteNonQuery(); MessageBox.Show("添加物資信息成功!","提示"); } else MessageBox.Show("物資編號(hào)"+textID.Text.Trim()+"已經(jīng)存在!","警告"); oleConnection1.Close(); } } privatevoidbtClose_Click(objectsender,System.EventArgse) { this.Close(); } }4.2瀏覽物資信息在主界面中選擇【物資信息管理】|【瀏覽物資信息】命令菜單,即可進(jìn)入瀏覽物資信息界面,如圖4-2所示。圖4-2瀏覽物資信息界面在這個(gè)界面中主要設(shè)置一個(gè)DataGrid控件,該控件所提供的數(shù)據(jù)綁定功能可用于顯示程序中所檢索出的數(shù)據(jù)集,該界面中顯示的是物資信息,數(shù)據(jù)綁定的代碼如程序-7所示。程序-7瀏覽物資信息的代碼 privatevoidMaterial_Load(objectsender,System.EventArgse) { oleConnection1.Open(); stringsql="selectMIDas物資編號(hào),MNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位frommaterialinfo"; OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); ds=newDataSet(); ds.Clear(); adp.Fill(ds,"material"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條記錄"; oleConnection1.Close(); }在這個(gè)界面中還包括3個(gè)Button控件,分別是【修改】、【刪除】、【退出】。刪除某條信息之前,還必須要考慮該信息相關(guān)的其他信息是否存在,如果沒(méi)有則可直接刪除,鉤子未來(lái)數(shù)據(jù)的完整性,則不允許直接該條信息?!緞h除】按鈕的處理代碼可參考程序-8.程序-8【刪除】按鈕的處理代碼 privatevoidbtDel_Click(objectsender,System.EventArgse) { if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null) { stringsql="select*fromininfowhereMID='"+ds.Tables["material"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'"; OleDbCommandcmd=newOleDbCommand(sql,oleConnection1); OleDbDataReaderdr; dr=cmd.ExecuteReader(); if(dr.Read()) { MessageBox.Show("刪除物資'"+ds.Tables["material"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'失敗,請(qǐng)先刪除該物資入庫(kù)信息!","提示"); dr.Close(); } else { dr.Close(); stringsql1="delete*frommaterialinfowhereMID='"+ds.Tables["material"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'"; cmd.CommandText=sql1; cmd.ExecuteNonQuery(); MessageBox.Show("刪除物資'"+ds.Tables["material"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'成功!","提示"); } } else MessageBox.Show("沒(méi)有指定物資信息!","提示"); }4.3修改物資信息在物資信息瀏覽界面中,單擊【修改】按鈕,進(jìn)入修改物資信息界面,如圖4-3所示。圖4-3修改物資信息界面在物資修改界面中,物資編號(hào)為只讀,其他屬性都是可以修改的。修改完后,單擊【確定】按鈕,把修改的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)相應(yīng)的字段中?!敬_定】按鈕的處理代碼可參考程序-10.程序-10【確定】按鈕的處理代碼 privatevoidbtAdd_Click(objectsender,System.EventArgse) { oleConnection1.Open(); stringsql="updatematerialinfosetMName='"+textName.Text.Trim()+"',MModel='"+textModel.Text.Trim()+"',"+ "MType='"+textType.Text.Trim()+"',MUnit='"+textUnit.Text.Trim()+"'whereMID='"+textID.Text.Trim()+"'"; oleCommand1.CommandText=sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("修改信息成功!","提示"); this.Close(); oleConnection1.Close(); }4.4查詢物資信息在主界面中選擇【物資信息管理】|【查詢物資信息】命令菜單,即可進(jìn)入查詢物資信息界面,如圖4-4所示。4-4查詢物資信息界面在該界面中,共有3個(gè)查詢條件:物資編號(hào)、物資名稱和物資型號(hào)。可以根據(jù)任意一個(gè)條件進(jìn)行查詢,也可以根據(jù)物資名稱和物資型號(hào)兩個(gè)條件進(jìn)行查詢。查詢功能的代碼可以參考程序-11。程序-11查詢功能的代碼privatevoidbtQuery_Click(objectsender,System.EventArgse) { boolflag=true; stringsql="selectMIDas物資編號(hào),MNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位"+ "frommaterialinfowhere"; if(textID.Text.Trim()==""&&textName.Text.Trim()==""&&textModel.Text.Trim()=="") { MessageBox.Show("請(qǐng)輸入查詢條件!","警告"); return; } elseif(textID.Text.Trim()!="") sql=sql+"MID="+"'"+textID.Text.Trim()+"'"; else { if(textName.Text.Trim()!="") { sql=sql+"MName="+"'"+textName.Text+"'"; flag=false; } if(textModel.Text.Trim()!="") { if(flag) sql=sql+"MModel="+"'"+textModel.Text+"'"; else sql=sql+"andMModel="+"'"+textModel.Text+"'"; } } oleConnection1.Open(); OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); DataSetds=newDataSet(); ds.Clear(); adp.Fill(ds,"material"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條查詢記錄"; oleConnection1.Close(); }第五章入庫(kù)信息管理5.1添加入庫(kù)信息在主界面中選擇【入庫(kù)信息管理】|【添加入庫(kù)信息】命令菜單。即可進(jìn)入添加入庫(kù)信息界面,如圖4-5所示、圖5.1添加入庫(kù)信息界面這個(gè)界面分為兩個(gè)部分:物資信息和入庫(kù)信息。物資信息是從物資信息表中得到,把物資編號(hào)與ComboBox控件綁定,然后通過(guò)選擇物資編號(hào)來(lái)確定物資信息,并把它們顯示到相應(yīng)的TextBox控件中。該部分的代碼參考程序-12。在入庫(kù)信息部分,把相應(yīng)的數(shù)據(jù)填寫完整,單擊【確定】按鈕,把物資信息和入庫(kù)信息保存到入庫(kù)信息表中。該部分的代碼參考程序-13.程序-12物資信息顯示的代碼 privatevoidInAdd_Load(objectsender,System.EventArgse) { DataSetds=newDataSet(); OleDbDataAdapteradp=newOleDbDataAdapter("",oleConnection1); adp.SelectCommand.CommandText="selectMIDfrommaterialinfo"; adp.Fill(ds); comMID.DataSource=ds.Tables[0].DefaultView; comMID.DisplayMember="MID"; comMID.ValueMember="MID"; }privatevoidcomMID_SelectedIndexChanged(objectsender,System.EventArgse) { DataSetds=newDataSet(); OleDbDataAdapteradp=newOleDbDataAdapter("",oleConnection1); stringsql="select*frommaterialinfowhereMID='"+comMID.Text.Trim()+"'"; adp.SelectCommand.CommandText=sql; adp.Fill(ds); this.textName.Text=ds.Tables[0].Rows[0][1].ToString().Trim(); this.textModel.Text=ds.Tables[0].Rows[0][2].ToString().Trim(); this.textType.Text=ds.Tables[0].Rows[0][3].ToString().Trim(); this.textUnit.Text=ds.Tables[0].Rows[0][4].ToString().Trim(); } }}程序-13【確定】按鈕的代碼privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(comMID.Text.Trim()=="") MessageBox.Show("請(qǐng)?zhí)顚懳镔Y編號(hào)!","提示"); else { oleConnection1.Open(); stringsql="select*fromininfowhereMID='"+comMID.Text.Trim()+"'"; this.oleCommand1.CommandText=sql; if(null==oleCommand1.ExecuteScalar()) { stringsql1="insertintoininfo(MID,InAccount,InPrice,InValue,InDate,InDealer,InSaver,InStore,Remark)values"+ "('"+comMID.Text.Trim()+"','"+textAccount.Text.Trim()+"',"+ "'"+textPrice.Text.Trim()+"','"+textValue.Text.Trim()+"','"+date1.Text.Trim()+"','"+textDealer.Text.Trim()+"',"+ "'"+textSaver.Text.Trim()+"','"+textStore.Text.Trim()+"','"+textRemark.Text.Trim()+"')"; oleCommand1.CommandText=sql1; oleCommand1.ExecuteNonQuery(); MessageBox.Show("添加入庫(kù)信息成功!","提示"); this.Close(); } else MessageBox.Show("物資編號(hào)"+comMID.Text.Trim()+"已經(jīng)存在!","警告"); oleConnection1.Close(); } }5.2瀏覽如信息在主界面中選擇【入庫(kù)信息管理】|【瀏覽入庫(kù)信息】命令菜單,即可進(jìn)入入庫(kù)信息瀏覽界面,如圖5-2所示。圖5-2入庫(kù)信息界面在這個(gè)界面中有一個(gè)DataGrid控件,該控件所提供的數(shù)據(jù)綁定功能可用于顯示程序中檢索出的數(shù)據(jù)集,在該界面中顯示的是入庫(kù)信息,數(shù)據(jù)綁定的代碼如程序-14所示。程序-14數(shù)據(jù)綁定的代碼DataSetds; privatevoidIn_Load(objectsender,System.EventArgse) { oleConnection1.Open(); stringsql="selectMNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位,InAccountas數(shù)量,"+ "InPriceas單價(jià),InValueas金額,InDateas入庫(kù)時(shí)間,InDealeras經(jīng)辦人,InSaveras保管人,InStoreas倉(cāng)庫(kù),Remarkas備注,"+ "ininfo.MIDas物資編號(hào),InIDas入庫(kù)編號(hào)frommaterialinfo,ininfowherematerialinfo.MID=ininfo.MID"; OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); ds=newDataSet(); ds.Clear(); adp.Fill(ds,"in"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條記錄"; oleConnection1.Close(); }在這個(gè)界面中還包括三個(gè)Button控件,分別是【修改】、【刪除】、【退出】。刪除某條信息之前,還必須考慮該信息相關(guān)的信息是否存在,如果沒(méi)有,則可直接刪除掉,否則未來(lái)數(shù)據(jù)的完整性,則不允許直接刪除該條信息。【刪除】按鈕的處理代碼可參考程序-15.程序-15【刪除】按鈕的處理代碼privatevoidbtDel_Click(objectsender,System.EventArgse) { if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null) { stringsql="delete*fromininfowhereInID="+ds.Tables["in"].Rows[dataGrid1.CurrentCell.RowNumber][13].ToString().Trim()+""; oleConnection1.Open(); oleCommand1.CommandText=sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("刪除進(jìn)貨'"+ds.Tables["in"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'成功","提示"); oleConnection1.Close(); } else MessageBox.Show("沒(méi)有指定進(jìn)貨信息!","提示"); }5.3修改入庫(kù)信息在入庫(kù)信息瀏覽界面中,單擊【修改】按鈕,進(jìn)入修改入庫(kù)信息界面,如圖5-3所示。圖5-3修改入庫(kù)信息界面在該界面中物資信息為只讀,修改的只是入庫(kù)信息部分的數(shù)據(jù)。對(duì)用戶中的入庫(kù)信息進(jìn)行修改時(shí),需要從入庫(kù)信息瀏覽窗口中將所選中的入庫(kù)信息的參數(shù)即入庫(kù)編號(hào),傳遞到修改入庫(kù)信息窗口中,作為入庫(kù)信息修改界面的初始化數(shù)據(jù),用的方法是Tag屬性,該部分的代碼如程序-16所示。修改完后,單擊【確定】按鈕,把修改后的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)相應(yīng)的字段中。【確定】按鈕的處理代碼可參考程序-17.程序-17【確定】按鈕的處理代碼privatevoidbtAdd_Click(objectsender,System.EventArgse) { this.oleConnection1.Open(); stringsql="updateininfosetInAccount='"+textAccount.Text.Trim()+"',InPrice='"+textPrice.Text.Trim()+"',"+ "InValue='"+textValue.Text.Trim()+"',InDate='"+date1.Text.Trim()+"',InDealer='"+textDealer.Text.Trim()+"',"+ "InSaver='"+textSaver.Text.Trim()+"',InStore='"+textStore.Text.Trim()+"',Remark='"+textRemark.Text.Trim()+"'"+ "whereInID="+this.Tag.ToString().Trim()+""; oleCommand1.CommandText=sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("修改進(jìn)貨信息成功!","提示"); this.Close(); this.oleConnection1.Close(); }5.4查詢?nèi)霂?kù)信息在主界面中選擇【入庫(kù)信息管理】|【查詢?nèi)霂?kù)信息】命令菜單,即可進(jìn)入查詢?nèi)霂?kù)信息界面中,如圖5-4所示。圖5-4禪心入庫(kù)信息界面在該界面中共有4個(gè)查詢條件:物資編號(hào)、物資名稱、入庫(kù)時(shí)間和物資型號(hào)。可以根據(jù)任意一個(gè)條件進(jìn)行查詢,也可以根據(jù)物資名稱、入庫(kù)時(shí)間和物資型號(hào)三個(gè)條件查詢。查詢功能的代碼可參考程序-18.程序-18查詢功能的代碼privatevoidbtQuery_Click(objectsender,System.EventArgse) { stringsql="selectMNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位,InAccountas數(shù)量,"+ "InPriceas單價(jià),InValueas金額,InDateas入庫(kù)時(shí)間,InDealeras經(jīng)辦人,InSaveras保管人,InStoreas倉(cāng)庫(kù),Remarkas備注,"+ "ininfo.MIDas物資編號(hào),InIDas入庫(kù)編號(hào)frommaterialinfo,ininfowherematerialinfo.MID=ininfo.MID"; if(textID.Text.Trim()==""&&textName.Text.Trim()==""&&textModel.Text.Trim()==""&&date1.Text.Trim()==""&&date2.Text.Trim()=="") { MessageBox.Show("請(qǐng)輸入查詢條件!","警告"); return; } elseif(textID.Text.Trim()!="") sql=sql+"andininfo.MID="+"'"+textID.Text.Trim()+"'"; else { if(textName.Text.Trim()!="") sql=sql+"andMName="+"'"+textName.Text+"'"; if(textModel.Text.Trim()!="") sql=sql+"andMModel="+"'"+textModel.Text+"'"; if(date1.Text.Trim()!=""&&date2.Text.Trim()!="") { DateTimedt1=Convert.ToDateTime(date1.Text); DateTimedt2=Convert.ToDateTime(date2.Text); sql=sql+"andInDatebetween"+"#"+dt1+"#"+"and"+"#"+dt2+"#"; } } oleConnection1.Open(); OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); DataSetds=newDataSet(); ds.Clear(); adp.Fill(ds,"in"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條查詢記錄"; oleConnection1.Close(); }第六章出庫(kù)信息管理6.1添加出出庫(kù)信息在主界面中選擇【出庫(kù)信息管理】|【添加出庫(kù)信息】命令菜單,即可進(jìn)入添加出庫(kù)信息界面,如圖6-1所示。圖6-1添加出庫(kù)信息界面這個(gè)界面分為兩個(gè)部分:物資信息和出庫(kù)信息。物資信息是從物資信息表中得到,把物資編號(hào)與ComboBox控件綁定,然后通過(guò)選擇物資編號(hào)來(lái)確定物資信息,并把它們顯示到相應(yīng)的TextBox控件中。該部分的代碼可以參考程序-19.程序-19數(shù)據(jù)綁定的代碼 privatevoidOutAdd_Load(objectsender,System.EventArgse) { DataSetds=newDataSet(); OleDbDataAdapteradp=newOleDbDataAdapter("",oleConnection1); adp.SelectCommand.CommandText="selectMIDfrommaterialinfo"; adp.Fill(ds); comMID.DataSource=ds.Tables[0].DefaultView; comMID.DisplayMember="MID"; comMID.ValueMember="MID"; } privatevoidcomMID_SelectedIndexChanged(objectsender,System.EventArgse) { DataSetds=newDataSet(); OleDbDataAdapteradp=newOleDbDataAdapter("",oleConnection1); stringsql="select*frommaterialinfowhereMID='"+comMID.Text.Trim()+"'"; adp.SelectCommand.CommandText=sql; adp.Fill(ds); this.textName.Text=ds.Tables[0].Rows[0][1].ToString().Trim(); this.textModel.Text=ds.Tables[0].Rows[0][2].ToString().Trim(); this.textType.Text=ds.Tables[0].Rows[0][3].ToString().Trim(); this.textUnit.Text=ds.Tables[0].Rows[0][4].ToString().Trim(); }在出庫(kù)信息部分,把相應(yīng)的數(shù)據(jù)輸入完整,單擊【確定】按鈕,把物資信息和出庫(kù)信息保存到出庫(kù)信息表中。該部分的代碼可以參考程序-20.程序-20【確定】按鈕的代碼privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(comMID.Text.Trim()=="") MessageBox.Show("請(qǐng)?zhí)顚懳镔Y編號(hào)!","提示"); else { oleConnection1.Open(); stringsql="select*fromoutinfowhereMID='"+comMID.Text.Trim()+"'"; this.oleCommand1.CommandText=sql; if(null==oleCommand1.ExecuteScalar()) { stringsql1="insertintooutinfo(MID,OutAccount,OutPrice,OutValue,OutDate,OutDealer,OutSaver,OutStore,Remark)values"+ "('"+comMID.Text.Trim()+"','"+textAccount.Text.Trim()+"',"+ "'"+textPrice.Text.Trim()+"','"+textValue.Text.Trim()+"','"+date1.Text.Trim()+"','"+textDealer.Text.Trim()+"',"+ "'"+textSaver.Text.Trim()+"','"+textStore.Text.Trim()+"','"+textRemark.Text.Trim()+"')"; oleCommand1.CommandText=sql1; oleCommand1.ExecuteNonQuery(); MessageBox.Show("添加出庫(kù)信息成功!","提示"); this.Close(); } else MessageBox.Show("物資編號(hào)"+comMID.Text.Trim()+"已經(jīng)存在!","警告"); oleConnection1.Close(); } }6.2瀏覽出庫(kù)信息在主界面中選擇【出庫(kù)信息管理】|【瀏覽出庫(kù)信息】命令菜單,即可進(jìn)入瀏覽出庫(kù)信息界面,如圖6-2所示。圖6-2瀏覽出庫(kù)信息界面在這個(gè)界面中有一個(gè)DataGrid控件,該控件所提供的數(shù)據(jù)綁定功能可用于顯示程序中檢索出的數(shù)據(jù)集,在該界面中顯示的是出庫(kù)信息,數(shù)據(jù)綁定的代碼如程序-21所示。程序-21數(shù)據(jù)綁定的代碼DataSetds; privatevoidOut_Load(objectsender,System.EventArgse) { oleConnection1.Open(); stringsql="selectMNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位,OutAccountas數(shù)量,"+ "OutPriceas單價(jià),OutValueas金額,OutDateas出庫(kù)時(shí)間,OutDealeras領(lǐng)取人,OutSaveras保管人,OutStoreas倉(cāng)庫(kù),Remarkas備注,"+ "Outinfo.MIDas物資編號(hào),OutIDas入庫(kù)編號(hào)frommaterialinfo,Outinfowherematerialinfo.MID=Outinfo.MID"; OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); ds=newDataSet(); ds.Clear(); adp.Fill(ds,"out"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條記錄"; oleConnection1.Close(); }在這個(gè)界面中還包括三個(gè)Button控件,分別是【修改】、【刪除】、【退出】。刪除某條信息之前,必須要考慮與該信息相關(guān)的其他信息是否存在,如果沒(méi)有,則可直接刪除掉,否則為了數(shù)據(jù)完整性,則不允許直接刪除該條信息?!緞h除】按鈕的代碼參考程序-22。程序-22【刪除】按鈕的代碼privatevoidbtDel_Click(objectsender,System.EventArgse) { if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null) { stringsql="delete*fromoutinfowhereOutID="+ds.Tables["out"].Rows[dataGrid1.CurrentCell.RowNumber][13].ToString().Trim()+""; oleConnection1.Open(); oleCommand1.CommandText=sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("刪除出庫(kù)'"+ds.Tables["out"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'成功","提示"); oleConnection1.Close(); } else MessageBox.Show("沒(méi)有指定出庫(kù)信息!","提示"); }6.3修改出庫(kù)信息在出庫(kù)信息瀏覽界面中單擊【修改】按鈕,進(jìn)入修改出庫(kù)信息界面,如圖6-3所示。圖6-3修改出庫(kù)信息界面在該界面中物資信息為只讀,修改的只是出庫(kù)信息部分的數(shù)據(jù)。對(duì)用戶選中的出庫(kù)信息進(jìn)行修改時(shí),需要從出庫(kù)信息瀏覽界面中將所選中的出庫(kù)信息的參數(shù)即出庫(kù)編號(hào),傳遞到出庫(kù)信息修改窗口中,作為修改出庫(kù)信息界面的初始化數(shù)據(jù),該部分的代碼如程序-23所示。修改完后,單擊【確定】按鈕,吧修改后的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)相應(yīng)的字段中。【確定】按鈕的處理代碼如程序-24所示。程序-24【確定】按鈕的處理代碼privatevoidbtAdd_Click(objectsender,System.EventArgse) { this.oleConnection1.Open(); stringsql="updateoutinfosetOutAccount='"+textAccount.Text.Trim()+"',OutPrice='"+textPrice.Text.Trim()+"',"+ "OutValue='"+textValue.Text.Trim()+"',OutDate='"+date1.Text.Trim()+"',OutDealer='"+textDealer.Text.Trim()+"',"+ "OutSaver='"+textSaver.Text.Trim()+"',OutStore='"+textStore.Text.Trim()+"',Remark='"+textRemark.Text.Trim()+"'"+ "whereOutID="+this.Tag.ToString().Trim()+""; oleCommand1.CommandText=sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("修改出庫(kù)信息成功!","提示"); this.Close(); this.oleConnection1.Close(); }6.4查詢出庫(kù)信息在主界面選擇【出庫(kù)信息管理】|【查詢出庫(kù)信息】命令菜單,即可進(jìn)入查詢出庫(kù)信息界面,如圖6-4所示。圖6-4查詢出庫(kù)信息界面在該界面中共有4個(gè)查詢條件:物資編號(hào)、物資名稱、出庫(kù)時(shí)間和物資型號(hào)??梢愿鶕?jù)任意一條條件進(jìn)行查詢,也可以根據(jù)物資名稱、出庫(kù)時(shí)間和物資型號(hào)三個(gè)條件進(jìn)行查詢。查詢功能的代碼可參考程序-25。程序-25查詢功能的代碼privatevoidbtQuery_Click(objectsender,System.EventArgse) { stringsql="selectMNameas物資名稱,MModelas物資型號(hào),Mtypeas類型,MUnitas單位,OutAccountas數(shù)量,"+ "OutPriceas單價(jià),OutValueas金額,OutDateas入庫(kù)時(shí)間,OutDealeras經(jīng)辦人,OutSaveras保管人,OutStoreas倉(cāng)庫(kù),Remarkas備注,"+ "Outinfo.MIDas物資編號(hào),OutIDas入庫(kù)編號(hào)frommaterialinfo,outinfowherematerialinfo.MID=Outinfo.MID"; if(textID.Text.Trim()==""&&textName.Text.Trim()==""&&textModel.Text.Trim()==""&&date1.Text.Trim()==""&&date2.Text.Trim()=="") { MessageBox.Show("請(qǐng)輸入查詢條件!","警告"); return; } elseif(textID.Text.Trim()!="") sql=sql+"andininfo.MID="+"'"+textID.Text.Trim()+"'"; else { if(textName.Text.Trim()!="") sql=sql+"andMName="+"'"+textName.Text+"'"; if(textModel.Text.Trim()!="") sql=sql+"andMModel="+"'"+textModel.Text+"'"; if(date1.Text.Trim()!=""&&date2.Text.Trim()!="") { DateTimedt1=Convert.ToDateTime(date1.Text); DateTimedt2=Convert.ToDateTime(date2.Text); sql=sql+"andOutDatebetween"+"#"+dt1+"#"+"and"+"#"+dt2+"#"; } } oleConnection1.Open(); OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); DataSetds=newDataSet(); ds.Clear(); adp.Fill(ds,"out"); dataGrid1.DataSource=ds.Tables[0].DefaultView; dataGrid1.CaptionText="共有"+ds.Tables[0].Rows.Count+"條查詢記錄"; oleConnection1.Close(); }第七章庫(kù)存信息管理7.1瀏覽庫(kù)存信息在主界面中選擇【庫(kù)存信息管理】|【瀏覽庫(kù)存信息】命令菜單,即可進(jìn)入瀏覽庫(kù)存信息界面,如圖7-1所示。圖7-1瀏覽庫(kù)存信息界面在該界面中顯示的數(shù)據(jù)時(shí)物資信息表、入庫(kù)信息表和出庫(kù)信息表3張彪的數(shù)據(jù)的融合。把物資信息表的每種物資的入庫(kù)數(shù)量減去出庫(kù)數(shù)量,得到該界面中的剩余數(shù)量,入庫(kù)信息
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 催收勞動(dòng)合同范例
- 2025年站臺(tái)安全門系統(tǒng)合作協(xié)議書(shū)
- 蛋類批發(fā)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 沿海港口貨物打包、拆卸服務(wù)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 沐浴服務(wù)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 水粉畫作品批發(fā)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 模塊化多功能置物籃行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 文件夾、袋專門零售企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 基于認(rèn)知特點(diǎn)的小學(xué)序列化習(xí)作教學(xué)研究
- 2024-2025學(xué)年山東省名校聯(lián)盟高三下學(xué)期開(kāi)學(xué)考試英語(yǔ)試題
- 數(shù)據(jù)標(biāo)注工程-概念、方法、工具與案例 課件 第6章 文本數(shù)據(jù)標(biāo)注
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 江蘇南京郵電大學(xué)教務(wù)處校內(nèi)招考聘用工作人員公開(kāi)引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- JJG 393-2018便攜式X、γ輻射周圍劑量當(dāng)量(率)儀和監(jiān)測(cè)儀
- 建筑物電子信息系統(tǒng)防雷技術(shù)規(guī)范(局部修訂條文)
- 《護(hù)士條例》全文
- 華住會(huì)酒店員工手冊(cè)
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 塔斯汀營(yíng)銷分析
- 市紀(jì)委跟班學(xué)習(xí)工作總結(jié)
- 腦梗死一病一品
評(píng)論
0/150
提交評(píng)論