




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
個體工商戶管理系統(tǒng)的設計與開發(fā)開發(fā)背景當今社會是一個信息社會,計算機信息管理正以迅猛的勢頭影響著各行各業(yè),它對規(guī)范業(yè)務流程、提高整體管理水平有著十分重大的意義。隨著近年來個體工商戶的不斷增加,以往單純靠直面記錄工商信息的方式已經(jīng)不能滿足當前的需要了。例如,每當需要查詢、修改某個工商戶的信息時,無法迅速、便捷地查找到相關的紙面資料,同時紙面記錄還具有易破損和易丟失等缺點,因此,開發(fā)一套專門用于個體工商戶管理的系統(tǒng)是為了適應經(jīng)濟發(fā)展的需要而提出的。需求分析實現(xiàn)目標:在對客戶的需求進行分析的基礎上。得出以下3個必須實現(xiàn)的基本目標;{=1\*GB3I①基本業(yè)務功能:需要實現(xiàn)工商戶的工商信息、歇業(yè)信息、變更信息、年檢信息的輸入和保存功能。查詢?yōu)g覽功能:必須具備查看開業(yè)戶、歇業(yè)戶和年檢戶的功能。用戶管理功能:必須具備添加用戶、修改用戶資料、刪除用戶的功能;同時具備喲過戶的權(quán)限管理功能,使不同權(quán)限的用戶在登錄系統(tǒng)之后對系統(tǒng)具有不同的控制權(quán)。在實現(xiàn)上述要求的基礎上,系統(tǒng)還可以擴充,如增加模糊查詢、報表導出、打印等模塊。個體工商管理系統(tǒng)的功能及其業(yè)務要求如下:⑴工商戶信息管理提供對個體工商戶的信息管理能力,包括工商戶信息的注冊、變更、歇業(yè)和年檢。開業(yè)登記(注冊)該功能用于將工商戶的注冊信息保存到數(shù)據(jù)庫的“工商信息表”中,所需要錄入信息的架構(gòu)【說明】*表中的“注冊號”要求為18為純數(shù)字字符串,而且不能重復。*表中的“身份證號”要求兼容性新、舊兩種身份證號碼變更修改該功能是對已經(jīng)登記的工商戶信息提供修改。工商戶的信息修改之后,還需要記錄每次變更的內(nèi)容,因此需要建立一個“變更信息表”【說明】*表中的“注冊號”對應“工商信息表”中的注冊號。當今工商戶的信息發(fā)生變更后,需要將相應的注冊號保存到該表中。*表中的“變更時間”為系統(tǒng)當前時間,格式要求為:當前日期+當前時間。*“工商信息表”中的注冊號與“變更信息表”中的注冊號是一對多關系?!耙粚Χ嚓P系”是表間最常見的關系類型。在這種關系類型中,表A中的行開業(yè)在表B中有許多匹配行,但是表B中的行只能在表A中有一個匹配行。歇業(yè)注銷該功能用于對歇業(yè)的工商戶信息進行處理:將歇業(yè)的工商戶信息保存到“歇業(yè)表”中,然后將該工商戶的信息沖“工商信息表”中刪除。“歇業(yè)表”的結(jié)構(gòu)除了具有與“工商信息表”相同字段意外,還需要一個數(shù)據(jù)類型為日期/時間的“歇業(yè)日期”字段工商年檢該功能用于將參加過年檢的工商戶的注冊號、字號名稱及年檢日期保存到一個“年檢表”中用于將來查詢某個工商戶是否參加過年檢。【說明】*“工商信息表”中的注冊號與“年檢表”中的注冊號是一對多關系。*年檢的用戶錄入界面除了提供年檢日期的錄入以外,還需要提供可修改工商信息表中的“截止日期”的功能,當保存年檢信息的同時,更新工商信息表中的“截止日期”。.瀏覽查詢要求提供的基本功能是開業(yè)查看開業(yè)戶、歇業(yè)戶和年檢戶的信息。在瀏覽的同時,能夠根據(jù)選擇的工商信息注冊號,顯示該工商戶的其他信息。用戶管理用戶管理包含2個功能:用戶信息管理和注銷。用戶信息管理具備添加、修改、刪除和瀏覽用戶資料4項功能。用戶的類別有3中,具有不同的權(quán)限:*查看和修改用戶信息。在修改用戶資料的時候,用戶名也可以被修改。*操作員:可以對個體工商戶的數(shù)據(jù)進行查看和修改,但不能查看和修改用戶信息。注銷功能清除當前登記用戶保存在內(nèi)存中的信息,系統(tǒng)還原為初始登錄狀態(tài),即出現(xiàn)“登錄”對話框。所有類型都提供“注銷”功能。.幫助提供關于軟件的基本信息、用戶使用手冊等內(nèi)容,要求用戶手冊包含軟件的基本功能介紹、常見問題以及技術(shù)支持信息等。系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖可以很直觀的反應出系統(tǒng)的組成框架圖,我們做的這個系統(tǒng)實現(xiàn)了什么功能通過下圖可以很好的體會到。數(shù)據(jù)庫設計在對整體的系統(tǒng)的需求設計以及系統(tǒng)的結(jié)構(gòu)圖有了很清晰地輪廓以后,下面就要針對強大的數(shù)據(jù)庫進行設計.以下就是主要的數(shù)據(jù)庫表設計:創(chuàng)建個體工商戶管理數(shù)據(jù)庫創(chuàng)建個體信息表創(chuàng)建其他數(shù)據(jù)表【說明】建立一個數(shù)據(jù)庫所要用到的是易操作的microsoftaccess2003,軟件。具體的如何使用這里就不做過多的詳細解釋了。需要說明的就是主鍵的作用,主鍵在數(shù)據(jù)庫設計里面是很重要的,它是用于唯一標示數(shù)據(jù)庫表的每條記錄。主鍵建立之后,數(shù)據(jù)庫就會同時為該主鍵建立索引。索引便可以加快查詢速度,添加索引之后,數(shù)據(jù)庫執(zhí)行查詢時首先檢索索引中的記錄以便快速定位記錄所在的位置。另外,在創(chuàng)建其他的表的同時,例如“工商信息表”與“變更信息表”,“工商信息表”與“歇業(yè)表”存在著一對多的關系,因此要添加類型為“自動編號”的“ID”字段來與“注冊號”組成一條記錄的唯一標識。詳細設計創(chuàng)建項目于公共模塊這個環(huán)節(jié)是我們比較熟悉的,我們主要是基于vb語言來做界面設計,多個窗體的設計,一般以主窗體為窗體容器,以便于其他窗體在里面運行。創(chuàng)建“個體工商戶管理系統(tǒng)”項目卜表設置MainForm窗體的部分屬性屬性設置說明IsMdiContainerTrue使MainForm變成窗體容器Text個體工商戶管理系統(tǒng)顯示在MainForm窗體的標題欄WindowsStateMaximized使MainForm窗體運仃時最大化下表為主菜單控件的菜單顯示項目工商戶管理瀏覽查詢用戶管理幫助開業(yè)登記查看開業(yè)戶用戶信息幫助手冊表更修改查看歇業(yè)戶注銷關于歇業(yè)注銷查看年監(jiān)護工商年檢下圖為mainform的設計界面圖添加公共模塊公共模塊的作用主要是通過類封裝一些常用的方法,不但可以增強代碼的復用性,而且還可以隱藏方法的實現(xiàn)細節(jié),減少整體編碼的復雜性,同時通過創(chuàng)建一些角色使得代碼更易讀懂。添加MyDbEngine類MyDbEngine類提供常用的數(shù)據(jù)庫操作方法,目的在于將待定的數(shù)據(jù)庫操作對象進行封裝。不需要知道使用的是什么數(shù)據(jù)庫,就可以調(diào)用。本例當中具體的類添加方法:在“個體工商戶管理系統(tǒng)”項目下的Moudles文件夾下添加類,代碼清單如下:ImportsSystem.Data.OleDbImportsSystem.Data.CommonImportsSystem.IO'''<summary>'''數(shù)據(jù)庫操作類。提供了執(zhí)行查詢等數(shù)據(jù)庫操作方法。'''</summary>'''<remarks></remarks>PublicClassMyDbEnginePrivateSharedReadonlyDB_CONNECTIONAsString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource="&_Path.Combine(Application.StartupPath,"db\個體工商管理.mdb")PrivateconnAsOleDbConnection=NothingPublicSubNew()EndSub'''<summary>'''打開數(shù)據(jù)庫連接。'''</summary>'''<remarks></remarks>PublicSubOpenConnect()IfIsConnectionOpened()=FalseThenconn=NewOleDbConnection(DB_CONNECTION)conn.Open()EndIfEndSub'''<summary>'''關閉數(shù)據(jù)庫連接。'''</summary>'''<remarks></remarks>PublicSubCloseConnect()IfIsConnectionOpened()Thenconn.Close()conn=NothingEndIfEndSub'''<summary>'''執(zhí)行SQL語句并返回影響的行數(shù)。'''</summary>'''<paramname="cmdText">SQL語句。</param>'''<returns></returns>'''<remarks></remarks>PublicFunctionExecuteNonQuery(ByValcmdTextAsString)AsIntegerOpenConnect()DimcmdAsOleDbCommand=NewOleDbCommand(cmdText,conn)Returncmd.ExecuteNonQuery()EndFunction'''<summary>'''執(zhí)行SQL語句,并返回結(jié)果集。'''</summary>'''<paramname="cmdText">SQL語句。</param>'''<returns></returns>'''<remarks></remarks>PublicFunctionExecuteReader(ByValcmdTextAsString)AsDbDataReaderOpenConnect()DimcmdAsOleDbCommand=NewOleDbCommand(cmdText,conn)Returncmd.ExecuteReader()EndFunction'''<summary>'''判斷數(shù)據(jù)庫連接是否已經(jīng)打開。'''</summary>'''<returns></returns>'''<remarks></remarks>PublicFunctionIsConnectionOpened()AsBooleanIfIsNothing(conn)ThenReturnFalseEndIfReturnTrueEndFunction'''<summary>'''判斷工商信息表中某個字段中是否包含指定的值。'''</summary>'''<paramname="tableName">表名。</param>'''<paramname="fieldName">字段名。</param>'''<paramname="fieldValue">字段對應的內(nèi)容,必須為字符串型。</param>'''<returns>如果表中已經(jīng)有該值的記錄則返回True,否則返回False。</returns>'''<remarks>'''示例:''' '判斷工商表中是否存在0001的注冊號。''' DimenginAsNewMyDbEngine''' DimisExistsAsBoolean'''isExists=engin.IsValueExists("注冊號","0001”)'''</remarks>PublicFunctionIsValueExists(ByValtableNameAsString,ByValfieldNameAsString,ByValfieldValueAsString)AsBooleanDimenginAsNewMyDbEngineDimcmdTextAsStringcmdText="select*from"+tableName+"where"+fieldName&"='"+fieldValue+"'”DimreaderAsDbDataReader=Me.ExecuteReader(cmdText)reader.Read()DimisExistsAsBoolean=reader.HasRowsreader.Close()ReturnisExistsEndFunction'''<summary>'''根據(jù)傳入的查詢條件返回結(jié)果集。'''</summary>'''<paramname="cmdText">SQL語句。</param>'''<returns></returns>'''<remarks></remarks>PublicFunctionExecuteDataSet(ByValcmdTextAsString)AsDataSetOpenConnect()DimmyDataSetAsNewDataSetDimadapterAsOleDbDataAdapter=NewOleDbDataAdapter(cmdText,conn)adapter.Fill(myDataSet)ReturnmyDataSetEndFunction添加UerPrivilege類代碼如下'''<summary>'''用戶權(quán)限。定義了用戶可具備的權(quán)限。'''</summary>'''<remarks></remarks>PublicClassUserPrivilegePublicSharedReadOnlyManagementAsString=”系統(tǒng)管理員"PublicSharedReadOnlyOperationAsString="操作員"PublicSharedReadOnlyNormalAsString="普通用戶”EndClass添加UserInfo類代碼如下:PublicClassUserInfo'用戶IDPrivatestrUserIdAsLongPublicPropertyUserId()AsStringGetReturnMe.strUserIdEndGetSet(ByValvalueAsString)Me.strUserId=valueEndSetEndProperty'用戶名PrivatestrUserNameAsStringPublicPropertyUserName()AsStringGetReturnMe.strUserNameEndGetSet(ByValvalueAsString)Me.strUserName=valueEndSetEndProperty'用戶密碼PrivatestrUserPasswordAsStringPublicPropertyUserPassword()AsStringGetReturnMe.strUserPasswordEndGetSet(ByValvalueAsString)Me.strUserPassword=valueEndSetEndProperty'用戶權(quán)限PrivatestrUserPrivilegeAsStringPublicPropertyUserPrivilege()AsStringGetReturnMe.strUserPrivilegeEndGetSet(ByValvalueAsString)Me.strUserPrivilege=valueEndSetEndProperty'重寫ToString()方法PublicOverridesFunctionToString()AsStringReturnMe.UserNameEndFunctionEndClass添加CommonUtil類代碼如下PublicClassCommonUtil'''<summary>'''獲取新的注冊號。'''</summary>'''<returns>返回新獲取的注冊號。</returns>'''<remarks></remarks>PublicSharedFunctionGetNewRegistNumber()AsStringDimregistNumAsString'獲得當前日期及時間的刻度數(shù)registNum=Date.Now.Ticks'判斷時間日期刻度數(shù)的長度是否超過注冊表規(guī)定的長度IfregistNum.Length>CommonConstants.REGISTER_LENGTHThenReturnregistNum.Substring(0,CommonConstants.REGISTER_LENGTH)ElseReturnregistNumEndIfEndFunctionEndClass添加CommonConstants模塊代碼如下ModuleCommonConstants'注冊號的長度PublicReadOnlyREGISTER_LENGTHAsInteger=18EndModule添加CommonVariable模塊代碼如下ModuleCommonVariable'當前登陸的用戶信息對象PublicloginUserAsUserInfoEndModule模塊設計工商管理模塊需要實現(xiàn)的功能有:開業(yè)登記、變更修改、鞋業(yè)注銷以及年檢工商開業(yè)登記窗體設計的界面圖如下:
代碼設計如下:窗體load事件PublicClass開業(yè)登記PrivateSub開業(yè)登記_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.btn添加下一個.Enabled=FalseMe.txt注冊號.Text=CommonUtil.GetNewRegistNumber()Me.txt起始日期.Text=Today.ToString("yyyy-MM-dd")Me.txt截止日期.Text=Today.ToString("yyyy-MM-dd")Me.txt發(fā)照日期.Text=Today.ToString("yyyy-MM-dd")Me.txt出生年月.Text=Today.ToString("yyyy-MM-dd")'添加經(jīng)營方式Me.cmb經(jīng)營方式.Items.Add("零售”)Me.cmb經(jīng)營方式.Items.Add("服務”)Me.cmb經(jīng)營方式.Items.Add("批發(fā)”)Me.cmb經(jīng)營方式.SelectedIndex=0'設置默認選中的列'添加組織形式Me.cmb組成形式.Items.Add("個人”)Me.cmb組成形式.Items.Add("家庭”)Me.cmb組成形式.SelectedIndex=0'添加性別Me.cmb性別.Items.Add("男”)Me.cmb性別.Items.Add("女”)Me.cmb性別.SelectedIndex=0'添加民族Me.cmb民族.Items.Add("漢”)Me.cmb民族.Items.Add("苗”)Me.cmb民族.Items.Add("黎”)Me.cmb民族.Items.Add("回”)Me.cmb民族.Items.Add("蒙古”)Me.cmb民族.Items.Add("維吾爾”)Me.cmb民族.SelectedIndex=0EndSub“確定”按鈕的click事件PrivateSubbtn確定_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn確定.ClickDimenginAsNewMyDbEngineDimcmdTextAsString'打開數(shù)據(jù)庫連接engin.OpenConnect()DimisExistsAsBoolean'檢查字號名稱是否已經(jīng)被別的商家注冊DimcompanyNameAsString=Me.txt字號名稱.Text.Trim()isExists=engin.IsValueExists("工商信息表","字號名稱",companyName)IfisExistsThenMessageBox.Show(-該字號名稱已存在,請重新輸入字號名稱!”)ExitSubEndIf'檢查經(jīng)營者地址是否已經(jīng)被別的商家使用DimcompanyAddressAsString=Me.txt經(jīng)營地址.Text.Trim()isExists=engin.IsValueExists("工商信息表","經(jīng)營地址”,companyAddress)IfisExistsThenMessageBox.Show("該經(jīng)營地址已存在,請重新輸入經(jīng)營地址!")ExitSubEndIfcmdText="insertinto工商信息表(注冊號,字號名稱,經(jīng)營者姓名,性別,"&"出生年月,民族,身份證號,家庭住址,聯(lián)系電話,組成形式,經(jīng)營方式,"&_"資金數(shù)額,經(jīng)營地址,起始期限,截止期限,發(fā)照日期,經(jīng)營范圍)"cmdText=cmdText+"values('"&_Me.txt注冊號.Text+"','"&_Me.txt字號名稱.Text&"','"&_Me.txt姓名.Text&"','"&_Me.cmb性別.Text&"','"&_Me.txt出生年月.Text&"','"&_Me.cmb民族.Text&"','"&_Me.txt身份證號.Text&"','"&_Me.txt家庭住址.Text&"','"&_Me.txt聯(lián)系電話.Text&"','"&_Me.cmb組成形式.Text&"','"&_Me.cmb經(jīng)營方式.Text&"',"&_Me.txt資金數(shù)額.Text&",'"&_Me.txt經(jīng)營地址.Text&"','"&_Me.txt起始日期.Text&"','"&_Me.txt截止日期.Text&"','"&_Me.txt發(fā)照日期.Text&"','"&_Me.txt經(jīng)營范圍.Text&"')"DimresultAsInteger=engin.ExecuteNonQuery(cmdText)Ifresult<1ThenMessageBox.Show("操作失??!")engin.CloseConnect()ExitSubEndIf'關閉數(shù)據(jù)庫連接engin.CloseConnect()btn添加下一個.Enabled=TrueMessageBox.Show("完成!")EndSub添加“下一個”按鈕的click事件PrivateSubbtn添加下一個_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn添加下一個.ClickMe.txt注冊號.Text=CommonUtil.GetNewRegistNumber()Me.txt字號名稱.Text=""Me.txt姓名.Text=""Me.cmb性別.Text=""Me.txt出生年月.Text=""Me.cmb民族.Text=""Me.txt身份證號.Text=""Me.txt家庭住址.Text=""Me.txt聯(lián)系電話.Text=""Me.cmb組成形式.Text=""Me.cmb經(jīng)營方式.Text=""Me.txt資金數(shù)額.Text=""Me.txt經(jīng)營地址.Text=""Me.txt截止日期.Text=""Me.txt經(jīng)營范圍.Text=""EndSub“關閉”按鈕的click事件PrivateSubbtn關閉—Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn關閉.ClickMe.Close()EndSubEndClass變更修改界面設計如下圖:代碼設計如下:窗體load事件PublicClass變更修改PrivateSub變更修改_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.btn更新.Enabled=False'添加經(jīng)營方式Me.cmb經(jīng)營方式.Items.Add("零售”)Me.cmb經(jīng)營方式.Items.Add("服務”)Me.cmb經(jīng)營方式.Items.Add("批發(fā)”)Me.cmb經(jīng)營方式.SelectedIndex=0'設置默認選中的列'添加組織形式Me.cmb組成形式.Items.Add("個人”)Me.cmb組成形式.Items.Add("家庭”)Me.cmb組成形式.SelectedIndex=0'添加性別Me.cmb性別.Items.Add("男”)Me.cmb性別.Items.Add("女”)Me.cmb性別.SelectedIndex=0'添加民族Me.cmb民族.Items.Add("漢”)Me.cmb民族.Items.Add("苗”)Me.cmb民族.Items.Add("黎”)Me.cmb民族.Items.Add("回”)Me.cmb民族.Items.Add("蒙古”)Me.cmb民族.Items.Add("維吾爾”)Me.cmb民族.SelectedIndex=0EndSub“查詢”按鈕的click事件PrivateSubbtn查詢_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn查詢.ClickDimregistNumberAsString=Me.txt查詢注冊號.Text.Trim()IfregistNumber.Length<>CommonConstants.REGISTER_LENGTHThenMessageBox.Show("注冊號位數(shù)不對,請重新輸入!")ExitSubEndIfDimenginAsNewMyDbEngineDimreaderAsCommon.DbDataReaderDimcmdTextAsString'打開數(shù)據(jù)庫連接engin.OpenConnect()'從工商信息表中讀入注冊號對應記錄的工商信息cmdText="select*from工商信息表where注冊號='"+registNumber+"'”reader=engin.ExecuteReader(cmdText)reader.Read()IfIsNothing(reader)Orreader.HasRows=FalseThenMessageBox.Show("該工商戶不存在!")reader.Close()engin.CloseConnect()ExitSubEndIfMe.txt注冊號.Text=reader("注冊號”).ToString()Me.txt字號名稱.Text=reader("字號名稱”).ToString()Me.txt姓名.Text=reader("經(jīng)營者姓名”).ToString()Me.cmb性別.Text=reader("性別”).ToString()Me.txt出生年月.Text=Date.Parse(reader("出生年月”).ToString()).ToString("yyyy-MM-dd")Me.cmb民族.Text=reader("民族”).ToString()Me.txt身份證號.Text=reader("身份證號”).ToString()Me.txt家庭住址.Text=reader("家庭住址”).ToString()Me.txt聯(lián)系電話.Text=reader("聯(lián)系電話”).ToString()Me.cmb組成形式.Text=reader("組成形式”).ToString()Me.cmb經(jīng)營方式.Text=reader("經(jīng)營方式”).ToString()Me.txt資金數(shù)額.Text=reader("資金數(shù)額”).ToString()Me.txt經(jīng)營地址.Text=reader("經(jīng)營地址”).ToString()Me.txt起始日期.Text=Date.Parse(reader("起始期限).ToString()).ToString("yyyy-MM-dd")Me.txt截止日期.Text=Date.Parse(reader("截止期限).ToString()).ToString("yyyy-MM-dd")Me.txt發(fā)照日期.Text=Date.Parse(reader("發(fā)照日期).ToString()).ToString("yyyy-MM-dd")Me.txt經(jīng)營范圍.Text=reader("經(jīng)營范圍”).ToString()'調(diào)用對象的Close()方法回收資源reader.Close()engin.CloseConnect()Me.btn更新.Enabled=TrueEndSub“更新”按鈕的click事件PrivateSubbtn更新_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn更新.ClickDimenginAsNewMyDbEngineDimcmdTextAsStringDimregistNumberAsStringengin.OpenConnect()registNumber=Me.txt注冊號.Text'檢查字號名稱是否已經(jīng)被別的商家注冊cmdText="select*from工商信息表where字號名稱='"&CompanyName&_"'and注冊號<>'"®istNumber&"'"DimreaderAsCommon.DbDataReader=engin.ExecuteReader(cmdText)IfNotIsNothing(reader)Andreader.HasRowsThenMessageBox.Show(-該字號名稱已存在,請重新輸入字號名稱!")engin.CloseConnect()ExitSubEndIfreader.Close()'檢查經(jīng)營者地址是否已經(jīng)被別的商家使用cmdText="select*from工商信息表where經(jīng)營地址='"&Me.txt經(jīng)營地址.Text&_"'and注冊號<>'"®istNumber&"'"reader=engin.ExecuteReader(cmdText)IfNotIsNothing(reader)Andreader.HasRowsThenMessageBox.Show("該經(jīng)營地址已存在,請重新輸入經(jīng)營地址!")engin.CloseConnect()ExitSubEndIfreader.Close()'更新工商信息cmdText="update工商信息表set字號名稱='"&Me.txt字號名稱.Text&_"',經(jīng)營者姓名='"&Me.txt姓名.Text&_"',性別='"&Me.cmb性別.Text&_"',出生年月='"&Me.txt出生年月.Text&_"',民族='"&Me.cmb民族.Text&_"',身份證號='"&Me.txt身份證號.Text&_"',家庭住址='"&Me.txt家庭住址.Text&_"',聯(lián)系電話='"&Me.txt聯(lián)系電話.Text&_"',組成形式='"&Me.cmb組成形式.Text&_"',經(jīng)營方式='"&Me.cmb經(jīng)營方式.Text&_"',資金數(shù)額='"&Me.txt資金數(shù)額.Text&_"',經(jīng)營地址='"&Me.txt經(jīng)營地址.Text&_"',起始期限='"&Me.txt起始日期.Text&_"',截止期限='"&Me.txt截止日期.Text&_"',發(fā)照日期='"&Me.txt發(fā)照日期.Text&_"',經(jīng)營范圍='"&Me.txt經(jīng)營范圍.Text&"'"&_"where注冊號='"®istNumber&"'”DimresultAsInteger=engin.ExecuteNonQuery(cmdText)Ifresult>0ThenMessageBox.Show("保存成功!")ElseMessageBox.Show("保存失?。?)engin.CloseConnect()ExitSubEndIf'添加一條變更記錄到“變更信息表”中DimaddRecordTextAsStringaddRecordText="insertinto變更信息表(注冊號,變更時間)values"&_"('"&Me.txt注冊號.Text&"','"&Date.Now.ToString()&"')"engin.ExecuteNonQuery(addRecordText)'關閉數(shù)據(jù)庫連接engin.CloseConnect()Me.btn更新.Enabled=FalseEndSub“關閉”按鈕的click事件PrivateSubbtn關閉—Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn關閉.ClickMe.Close()EndSubEndClass歇業(yè)注銷設計界面如下圖:代碼設計如下:窗體load事件代碼PublicClass歇業(yè)注銷PrivateSub歇業(yè)注銷_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.btn注銷.Enabled=FalseEndSub查詢按鈕的click事件代碼PrivateSubbtn查詢_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn查詢.ClickDimregistNumberAsString=Me.txt查詢注冊號.Text.Trim()IfregistNumber.Length<>CommonConstants.REGISTER_LENGTHThenMessageBox.Show("注冊號位數(shù)不對,請重新輸入!")ExitSubEndIfDimenginAsNewMyDbEngineDimreaderAsCommon.DbDataReaderDimcmdTextAsString'打開數(shù)據(jù)庫連接engin.OpenConnect()'從工商信息表中讀入注冊號對應記錄的工商信息cmdText="select*from工商信息表where注冊號='"+registNumber+"'”reader=engin.ExecuteReader(cmdText)reader.Read()IfIsNothing(reader)Orreader.HasRows=FalseThenMessageBox.Show("該工商戶不存在!")reader.Close()engin.CloseConnect()ExitSubEndIfMe.txt注冊號.Text=reader("注冊號”).ToString()Me.txt字號名稱.Text=reader("字號名稱”).ToString()Me.txt姓名.Text=reader("經(jīng)營者姓名”).ToString()Me.cmb性別.Text=reader("性別”).ToString()Me.txt出生年月.Text=Date.Parse(reader("出生年月”).ToString()).ToString("yyyy-MM-dd")Me.cmb民族.Text=reader("民族”).ToString()Me.txt身份證號.Text=reader("身份證號”).ToString()Me.txt家庭住址.Text=reader("家庭住址”).ToString()Me.txt聯(lián)系電話.Text=reader("聯(lián)系電話”).ToString()Me.cmb組成形式.Text=reader("組成形式”).ToString()Me.cmb經(jīng)營方式.Text=reader("經(jīng)營方式”).ToString()Me.txt資金數(shù)額.Text=reader("資金數(shù)額”).ToString()Me.txt經(jīng)營地址.Text=reader("經(jīng)營地址”).ToString()Me.txt起始日期.Text=Date.Parse(reader("起始期限”).ToString()).ToString("yyyy-MM-dd")Me.txt截止日期.Text=Date.Parse(reader("截止期限”).ToString()).ToString("yyyy-MM-dd")Me.txt發(fā)照日期.Text=Date.Parse(reader("發(fā)照日期”).ToString()).ToString("yyyy-MM-dd")Me.txt經(jīng)營范圍.Text=reader("經(jīng)營范圍”).ToString()'調(diào)用對象的Close()方法回收資源reader.Close()engin.CloseConnect()Me.btn注銷.Enabled=TrueEndSub注銷按鈕的click事件PrivateSubbtn注銷_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn注銷.Click'確認是否真的進行歇業(yè)操作DimanswerAsMsgBoxResultanswer=MessageBox.Show("是否真的對該工商戶進行歇業(yè)操作?","歇業(yè)確認”,MessageBoxButtons.YesNo)Ifanswer<>MsgBoxResult.YesThenExitSub'保存工商戶信息到歇業(yè)表中DimenginAsNewMyDbEngineDimcmdTextAsStringcmdText="insertinto歇業(yè)表(注冊號,字號名稱,經(jīng)營者姓名,性別,"&_"出生年月,民族,身份證號,家庭住址,聯(lián)系電話,組成形式,經(jīng)營方式,"&_"資金數(shù)額,經(jīng)營地址,起始期限,截止期限,發(fā)照日期,經(jīng)營范圍,歇業(yè)日期)”cmdText=cmdText+"values('"&_Me.txt注冊號.Text+"','"&_Me.txt字號名稱.Text&",,,"&_Me.txt姓名.Text&",,,"&_Me.cmb性別.Text&",,,"&_Me.txt出生年月.Text&",,,"&_Me.cmb民族.Text&",,,"&_Me.txt身份證號.Text&",,,"&_Me.txt家庭住址.Text&",,,"&_Me.txt聯(lián)系電話.Text&",,,"&_Me.cmb組成形式.Text&",,,"&_Me.cmb經(jīng)營方式.Text&",,"&_Me.txt資金數(shù)額.Text&",,"&_Me.txt經(jīng)營地址.Text&",,,"&_Me.txt起始日期.Text&",,,"&_Me.txt截止日期.Text&",,,"&_Me.txt發(fā)照日期.Text&",,,"&_Me.txt經(jīng)營范圍.Text&",,,"&_Today.ToString("yyyy-MM-dd")&",)"DimresultAsInteger=engin.ExecuteNonQuery(cmdText)Ifresult<1ThenMessageBox.Show("操作失?。?)engin.CloseConnect()ExitSubEndIf,將當前注冊號的工商信息從工商信息表中刪除cmdText="deletefrom工商信息表where注冊號=,"&Me.txt注冊號.Text&result=engin.ExecuteNonQuery(cmdText)Ifresult<1ThenMessageBox.Show("操作工商信息表失?。?)engin.CloseConnect()ExitSubEndIfengin.CloseConnect()MessageBox.Show("歇業(yè)成功!")Me.txt查詢注冊號.Text=""Me.txt注冊號.Text=""Me.txt起始日期.Text=""Me.txt發(fā)照日期.Text=""Me.txt字號名稱.Text=""Me.txt姓名.Text=""Me.cmb性別.Text=""Me.txt出生年月.Text=""Me.cmb民族.Text=""Me.txt身份證號.Text=""Me.txt家庭住址.Text=""Me.txt聯(lián)系電話.Text=""Me.cmb組成形式.Text=""Me.cmb經(jīng)營方式.Text=""Me.txt資金數(shù)額.Text=""Me.txt經(jīng)營地址.Text=""Me.txt截止日期.Text=""Me.txt經(jīng)營范圍.Text=""EndSub關閉按鈕的click事件PrivateSubbtn關閉—Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn關閉.ClickMe.Close()EndSubEndClass年檢工商設計界面如下圖:代碼設計如下:窗體load事件PublicClass工商年檢PrivateSub工商年檢_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.btn保存.Enabled=FalseEndSub查詢按鈕的click事件PrivateSubbtn查詢_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn查詢.ClickDimregistNumberAsString=Me.txt查詢注冊號.Text.Trim()DimenginAsNewMyDbEngineDimreaderAsCommon.DbDataReaderDimcmdTextAsString'打開數(shù)據(jù)庫連接engin.OpenConnect()'檢查對應注冊號是否已經(jīng)參加過年檢cmdText="select*from年檢表where注冊號='"+registNumber+"'"reader=engin.ExecuteReader(cmdText)reader.Read()IfNotIsNothing(reader)Andreader.HasRows=TrueThenDimcheckYearAsStringDimthisYearAsStringcheckYear=DateTime.Parse(reader("年檢日期”).ToString()).Year.ToString()thisYear=Date.Now.Year.ToString()IfcheckYear.Equals(thisYear)ThenMessageBox.Show("該工商戶已參加年檢!")reader.Close()engin.CloseConnect()ExitSubEndIfEndIfreader.Close()'從工商信息表中讀入注冊號對應記錄的工商信息cmdText="select*from工商信息表where注冊號='"+registNumber+reader=engin.ExecuteReader(cmdText)reader.Read()IfIsNothing(reader)Orreader.HasRows=FalseThenMessageBox.Show("該工商戶不存在!")reader.Close()engin.CloseConnect()ExitSubEndIfMe.txt注冊號.Text=reader("注冊號”).ToString()Me.txt字號名稱.Text=reader("字號名稱”).ToString()Me.txt姓名.Text=reader("經(jīng)營者姓名”).ToString()Me.cmb性別.Text=reader("性別”).ToString()Me.txt出生年月.Text=Date.Parse(reader("出生年月).ToString()).ToString("yyyy-MM-dd")Me.cmb民族.Text=reader("民族”).ToString()Me.txt身份證號.Text=reader("身份證號”).ToString()Me.txt家庭住址.Text=reader("家庭住址”).ToString()Me.txt聯(lián)系電話.Text=reader("聯(lián)系電話”).ToString()Me.cmb組成形式.Text=reader("組成形式”).ToString()Me.cmb經(jīng)營方式.Text=reader("經(jīng)營方式”).ToString()Me.txt資金數(shù)額.Text=reader("資金數(shù)額”).ToString()Me.txt經(jīng)營地址.Text=reader("經(jīng)營地址”).ToString()Me.txt起始日期.Text=Date.Parse(reader("起始期限).ToString()).ToString("yyyy-MM-dd")Me.txt截止日期.Text=Date.Parse(reader("截止期限).ToString()).ToString("yyyy-MM-dd")Me.txt發(fā)照日期.Text=Date.Parse(reader("發(fā)照日期).ToString()).ToString("yyyy-MM-dd")Me.txt經(jīng)營范圍.Text=reader("經(jīng)營范圍”).ToString()'調(diào)用對象的Close()方法回收資源reader.Close()engin.CloseConnect()Me.btn保存.Enabled=TrueEndSub參加年檢按鈕的checkedchanged事件PrivateSubchk參加年檢_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handleschk參加年檢.CheckedChangedMe.btn保存.Enabled=TrueEndSub保存按鈕的click事件PrivateSubbtn保存_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn保存.ClickDimenginAsNewMyDbEngineDimcmdTextAsString'打開數(shù)據(jù)庫連接engin.OpenConnect()'將年檢信息保存到年檢表中cmdText="insertinto年檢表(注冊號,字號名稱,年檢日期)values("&_"'"&Me.txt注冊號.Text.Trim()&"'"&_",'"&Me.txt字號名稱.Text.Trim()&"'"&_",'"&Me.txt年檢日期.Text.Trim()&"')"engin.ExecuteNonQuery(cmdText)'更新截止日期cmdText="update工商信息表set截止期限='"&Me.txt截止日期.Text+"'"&_"where注冊號='"&Me.txt注冊號.Text+"'"engin.ExecuteNonQuery(cmdText)engin.CloseConnect()MessageBox.Show("年檢完成!")EndSub關閉按鈕的click事件PrivateSubbtn關閉—Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn關閉.ClickMe.Close()EndSubEndClass2.瀏覽查詢模塊包括:查看開業(yè)戶、查看歇業(yè)戶、查看年檢戶這三個設計模塊。查看開業(yè)戶窗體設計的界面效果圖如下:PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem.ClickMe.Close()EndSubControlsHelper類:窗體load事件:PrivateSub查看開業(yè)戶§_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimcmdTextAsString="select*from工商信息表括ControlsHelper.FillSearchToTreeView(cmdText,"注冊號”,Me.TreeView1)'初始化一ListView1控件Me.ListView1.Columns.Add("字段”,80,HorizontalAlignment.Left)Me.ListView1.Columns.Add("值”,180,HorizontalAlignment.Left)Me.ListView1.View=View.DetailsEndSubPrivateSubTreeView1_AfterSelect(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.TreeViewEventArgs)HandlesTreeView1.AfterSelectMe.ListView1.Items.Clear()DimcmdTextAsStringcmdText="select*from工商信息表where注冊號="&Me.TreeView1.SelectedNode.Text&""ControlsHelper.FillTableRowToListView(cmdText,Me.ListView1)EndSubEndClass查看歇業(yè)戶的窗體設計界面如下:代碼設計如下:窗體load事件PublicClass查看歇業(yè)戶PrivateSub查看歇業(yè)戶§_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimcmdTextAsString="select*from歇業(yè)表ControlsHelper.FillSearchToTreeView(cmdText,"注冊號”,Me.TreeView1)'初始化一ListView1控件Me.ListView1.Columns.Add("字段”,80,HorizontalAlignment.Left)Me.ListView1.Columns.Add("值”,180,HorizontalAlignment.Left)Me.ListView1.View=View.DetailsEndSub退出菜單項的click事件:PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出oolStripMenuItem.ClickMe.Close()EndSubTreeView控件的AfterSelect事件PrivateSubTreeView1_AfterSelect(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.TreeViewEventArgs)HandlesTreeView1.AfterSelectMe.ListView1.Items.Clear()DimcmdTextAsStringcmdText="select*from歇業(yè)表where注冊號="&Me.TreeView1.SelectedNode.Text&ControlsHelper.FillTableRowToListView(cmdText,Me.ListViewl)EndSubEndClass查看年檢戶窗體設計如下:代碼設計如下窗體load事件:PublicClass查看年檢戶§PrivateSub查看年檢戶§_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimcmdTextAsString="select*from年檢表括ControlsHelper.FillSearchToTreeView(cmdText,"注冊號”,Me.TreeView1)'初始化一ListView1控件Me.ListView1.Columns.Add("字段”,80,HorizontalAlignment.Left)Me.ListView1.Columns.Add("值”,180,HorizontalAlignment.Left)Me.ListView1.View=View.DetailsEndSub退出按鈕的。蜻件PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem.ClickMe.Close()EndSubTreeView1控件的AfterSelect事件PrivateSubTreeView1_AfterSelect(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.TreeViewEventArgs)HandlesTreeView1.AfterSelectMe.ListView1.Items.Clear()DimcmdTextAsStringcmdText="select*from年檢表where注冊號='"&Me.TreeView1.SelectedNode.Text&""ControlsHelper.FillTableRowToListView(cmdText,Me.ListView1)EndSubEndClass3.幫助模塊和登錄窗體這個模塊的設計主要是為了方便軟件的使用者,包括了該軟件的詳細使用和說明?!皫椭謨浴辈藛雾椀腸lick事件代碼設計如下:“關于...”菜單項的click事件的代碼設計如下:4.實現(xiàn)登錄功能添加登錄窗體界面如下:PrivateSubbtn登錄—Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn登錄.ClickIfMe.txt用戶名.Text.Length<1OrMe.txt密碼.Text.Length<1ThenMessageBox.Show("用戶名或密碼不能為空!”)ExitSubEndIfDimmanagerAsNewUserManager()'loginUser變量在CommonVariable模塊中被定義,'該變量用于保存登錄用戶的信息。loginUser=manager.GetUser(Me.txt用戶名.Text)IfIsNothing(loginUser)ThenMessageBox.Show("用戶不存在!”)ExitSubEndIfIfNotloginUser.UserPassword.EqualsCMe.txt密碼.Text)ThenMessageBox.Show("密碼錯誤!”)ExitSubEndIfMe.Close()EndSubPrivateSubbtn退出_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbtn退出.ClickMe.Close()EndSub5.設置主窗體菜單的click事件實現(xiàn)該過程中,我們前面在對“工商戶管理”窗體的設計過程就已經(jīng)注意到了,下面的下拉菜單就包括了幾個子菜單,這一塊的主要任務就是對“開業(yè)登記”、“工商管理”、“瀏覽查詢”下面的子菜單的click事件進行代碼設計。各個click事件的代碼設計如下:PrivateSub開業(yè)登記ToolStripMenuItem_Click(ByValSystem.EventArgs)Handles開業(yè)登記ToolStripMenuItem.ClickDimfrmAsFormfrm=New開業(yè)登記()frm.ShowDialog()EndSubsenderAsSystem.Object,ByValeAsPrivateSub變更修改ToolStripMenuItem_Click(ByValSystem.EventArgs)Handles變更修改ToolStripMenuItem.ClickDimfrmAsFormfrm=New變更修改()frm.ShowDialog()EndSubsenderAsSystem.Object,ByValeAsPrivateSub歇業(yè)注冊ToolStripMenuItem_Click(ByValSystem.EventArgs)Handles歇業(yè)注冊ToolStripMenuItem.ClickDimfrmAsFormfrm=New歇業(yè)注銷()frm.ShowDialog()EndSubsenderAsSystem.Object,ByValeAsPrivateSub工商年檢ToolStripMenuItem_Click(ByValSystem.EventArgs)Handles工商年檢ToolStripMenuItem.ClicksenderAsSystem.Object,ByValeAsDimfrmAsFormfrm=New工商年檢()frm.ShowDialog()EndSubPrivateSub查看開業(yè)戶ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查看開業(yè)戶ToolStripMenuItem.ClickDimfrmAsFormfrm=New查看開業(yè)戶()frm.ShowDialog()EndSubPrivateSub查看歇業(yè)戶ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查看歇業(yè)戶ToolStripMenuItem.ClickDimfrmAsFormfrm=New查看歇業(yè)戶()frm.ShowDialog()EndSubPrivateSub查看年檢戶ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查看年檢戶ToolStripMenuItem.ClickDimfrmAsFormfrm=New查看年檢戶()frm.ShowDialog()EndSubPrivateSub用戶信息ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles用戶信息ToolStripMenuItem.ClickDimfrmAsFormfrm=New用戶信息()frm.ShowDialog()EndSubPrivateSubMainForm_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadloginUser=NothingDimfrmAsFormfrm=New登錄()frm.ShowDialog()'loginUser對象為空(Nothing)則退出應用程序IfIsNothing(loginUser)ThenApplication.Exit()ExitSubEndIf'權(quán)限管理。此處用到了在CommonVariable模塊中定義的loginUser變量
'該變量指向的UserInfo實例在登錄的被創(chuàng)建IfloginUser.UserPrivilege.Equals(UserPrivilege.Management)ThenMe.工商戶管理ToolStripMenuItem.Visible=TrueMe.用戶信息ToolStripMenuItem.Visible()=TrueElseIfloginUser.UserPrivilege=UserPrivilege.OperationThenMe.工商戶管理ToolStripMenuItem.Visible=TrueMe.用戶信息ToolStripMenuItem.Visible()=FalseElseMe.工商戶管理ToolStripMenuIte:Me.Me.工商戶管理ToolStripMenuIte:Me.用戶信息ToolStripMenuItem.Visible()=FalseEndIf窗體設計界面如下圖所示:EndSub窗體設計界面如下圖所示:5.用戶管理模塊根據(jù)前面的需求分析的結(jié)果,要求“用戶管理”模塊提供創(chuàng)建用戶、修改用戶資料以及刪除用戶的功能,因此可以基于需求分析的結(jié)果設計提供這些功能的界面以及實現(xiàn)這些的代碼。用戶管理窗體設計界面:
代碼設計如下:PrivateSub用戶信息—Load(ByValsenderAsSystem.Object,ByVa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售行業(yè)保密協(xié)議標準合同
- 廈門市拆遷安置合同范本:公房、代建房、信退管理
- 可流通股代理繳款配股合同書
- 企業(yè)合同簽訂儀式暨包粽子比賽活動方案
- 辦公室轉(zhuǎn)租合同標準文本
- 水資源開發(fā)利用合作合同
- 4 地球 我們的家園 (教學設計)-統(tǒng)編版道德與法治六年級下冊
- 2023-2024學年天津市中小學生mixly創(chuàng)意編程 第4課 聰明的按鍵-教學設計
- Unit 1 Making friends Part A (Letters and sounds)(教學設計)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 農(nóng)村耕田合同范本
- 高血壓腦出血相關的課件
- 江蘇省初中美術(shù)學業(yè)水平考試參考復習題庫(含答案)
- 短視頻運營實戰(zhàn):抖音短視頻運營
- 設備維保的關鍵績效指標與評估
- 三亞市崖州中心漁港停泊避風水域擴建項目 環(huán)評報告
- 2024年工貿(mào)行業(yè)安全知識考試題庫500題(含答案)
- 《指南針》完整版
- 深圳人才公園功能分析報告
- 《核醫(yī)學輻射防護》課件
- 惡性腫瘤終末期護理查房課件
- 《兒童胃食管反流病》課件
評論
0/150
提交評論