員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機科學(xué)與工程學(xué)院課程設(shè)計報告題目全稱:員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)一崗位與薪金信息管理學(xué)生學(xué)號:姓名:李偉德指導(dǎo)老師:劉勇國職稱:副教授指導(dǎo)老師評語:簽字:課程設(shè)計成績:

&計過程表現(xiàn)設(shè)計報告質(zhì)量總分實驗項目名稱:一崗位與薪、實驗室名稱:計算機學(xué)院軟件實驗室實驗項目名稱:一崗位與薪員工管理信息系統(tǒng)的設(shè)計與實現(xiàn)金信息管理三、實驗學(xué)時:32四、實驗原理:員工管理信息系統(tǒng)是由員工管理,部門管理,崗位管理以及薪金管理四部分組成。系統(tǒng)前臺采用VisualStdio2005工具開發(fā)而成,開發(fā)語言是C#程序設(shè)計語言,主要是因為C#是微軟為.NET平臺量身定做的編程語言,它是一種現(xiàn)代面向?qū)ο蟪绦蛟O(shè)計語言,使程序員能夠快速地在.NET平臺上開發(fā)種類豐富的應(yīng)用程序,它繼承了C++和Java的語法,去掉了C++中的許多復(fù)雜和容易引起問題的東西,是由C和C++發(fā)展而來的一種簡單、高效、面向?qū)ο?、類型安全”的程序設(shè)計語言,具綜合了VisualBasic的高效率和C++的強大功能。系統(tǒng)后臺的數(shù)據(jù)庫采用MiscrosoftAccess2003數(shù)據(jù)庫,主要依據(jù)是考慮到系統(tǒng)的數(shù)據(jù)規(guī)模弁不大,如果用SQLServer2005等數(shù)據(jù)庫會造成浪費,而且維護起來比較難。而Access數(shù)據(jù)庫是一個輕量級的數(shù)據(jù)庫,其具有簡單,方便的特性,已經(jīng)滿足我們的需求。五、實驗?zāi)康模菏箤W(xué)生掌握數(shù)據(jù)庫的實現(xiàn)原理,了解SQL的查詢命令,弁能在實踐中使用。使學(xué)生學(xué)會使用C#語言進行程序設(shè)計,了解VistualStdio2005的開發(fā)工具的原理,弁設(shè)計出實際可行的項目。加強學(xué)生的動手能力,把課堂上學(xué)到得東西,融入到實際的項目,達到學(xué)以致用的目的。鍛煉學(xué)生的思維能力,使學(xué)生能夠領(lǐng)略計算機編程的實現(xiàn)方法,達到舉一反三的效果。六、實驗內(nèi)容:在員工信息管理系統(tǒng)中完成“崗位”和“薪金”信息管理功能。崗位信息管理功能包括:添加崗位:可以添加崗位名稱,崗位描述等信息。刪除崗位:可以刪除崗位名稱,崗位描述等信息。修改崗位:可以修改指定崗位的崗位名稱,崗位描述等信息。查詢崗位:可以查詢指定崗位的崗位名稱,崗位描述等信息。薪金信息管理功能包括:

添加員工薪金信息:可以添加員工姓名,月份,備注,薪金等信息。刪除員工薪金信息:可以刪除指定員工的姓名,月份,備注,薪金等信息。修改員工薪金信息:可以修改指定員工的姓名,月份,備注,薪金等信息。查詢員工薪金信息:可以查詢指定員工的薪金等信息。七、實驗器材(設(shè)備、元器件)一臺WindowsXP平臺或以上的PC機;VistualStdio2005開發(fā)軟件及MicrosoftACCESS003數(shù)據(jù)庫軟件;八、實驗步驟:1、設(shè)計系統(tǒng)結(jié)構(gòu)組成系統(tǒng)提供了一套員工綜合信息管理平臺,使得系統(tǒng)管理人員對公司的崗位進行分類,進而確定各個崗位所對應(yīng)的部門信息,在已有部門信息的基礎(chǔ)上能夠?qū)λ袉T工信息進行分類管理。主要功能有:崗位設(shè)置、員工個人信息管理、員工所屬部門信息管理、員工薪金信息管理。系統(tǒng)模塊設(shè)計劃分如下:員工薪金信息模塊:可以刪除、添加、修改和查詢員工薪金信息;崗位設(shè)置模塊:可以刪除、添加、修改和查詢崗位;它們之間既是相互聯(lián)系同時又是彼此獨立的,整個框架結(jié)構(gòu)如圖1所示。員L信息管理系統(tǒng)崗位管理員.—薪金信息刪除員—薪金信息修改崗位添加崗位刪除崗位修改iE崗位管理員.—薪金信息刪除員—薪金信息修改崗位添加崗位刪除崗位修改iEI

位詞圖1系統(tǒng)整體框架本課程設(shè)計實現(xiàn)崗位和薪金管理模塊功能:(1)崗位設(shè)置模塊崗位設(shè)置模塊功能包括:添加崗位、刪除崗位、修改崗位、查詢崗位?;谏厦娴男枨蠓治觯覀兛梢粤谐鲇脩舨僮鞯哪K,其中的每一個模塊對于一個功能,如圖2所示。

管理模塊功能包括:添加員工薪金信息、刪除員工薪金信息、修改員工薪金信息、管理模塊功能包括:查詢員工薪金信息如圖3所示。如圖3所示。查詢新金圖3薪金信息管理模塊用例圖2、數(shù)據(jù)庫的設(shè)計與實現(xiàn)數(shù)據(jù)庫是員工信息管理系統(tǒng)的后臺,存儲著所有的信息,在員工信息管理系統(tǒng)中有著很重要的地位。數(shù)據(jù)庫設(shè)計的好與壞,直接影響到這個系統(tǒng)的運行效率。良好的數(shù)據(jù)庫設(shè)計,可以提高數(shù)據(jù)信息的存儲效率,確保數(shù)據(jù)信息的完整性和一致性。在仔細調(diào)研員工信息管理過程的基礎(chǔ)上,通過對管理內(nèi)容的分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下:

崗位信息表:包含崗位編號、崗位名稱、描述等信息;員工薪金表:薪金編號、月份、員工編號、薪金、備注等信息;有了上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu),就可以進行數(shù)據(jù)庫的設(shè)計了。設(shè)計過程主要分為兩個階段,即數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計?;趯?shù)據(jù)庫需求的分析,在這一階段可以設(shè)計出能夠滿足用戶需求的各種實例以及它們之間的關(guān)系,為下一階段的邏輯設(shè)計打下基礎(chǔ)。有了上面的實例以及實例之間的關(guān)系,再針對員工信息管理系統(tǒng)的需求,通過對系統(tǒng)的整體分析,為本系統(tǒng)設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):表1相關(guān)信息表設(shè)計庫名(EmployeeMIS)員工薪金信息表(income)字段□說明大小是否為空IID自動編R薪金編號NOTNULLmonth數(shù)字月份2NOTNULLPID文本員工編號NOTNULLIncome文本薪金20NOTNULLRemark文本備注500崗位信息表(Jobinfo);段□說明大小是否為空JobID自動編R崗位編號NOTNULLJobname文本崗位名稱20NOTNULLRemarks文本備注描述500NOTNULL3.設(shè)計系統(tǒng)各模塊崗位設(shè)置模塊設(shè)計添加崗位在主窗口中點擊“添加崗位”按鈕,即可彈出如下對話框,依次填寫崗位名稱,崗位描述后,點擊“確定”按鈕,將彈出添加成功的提示。刪除崗位在瀏覽崗位的對話框中,首先選擇要刪除的行,然后點擊“刪除”按鈕,刪除成功后,將彈出刪除成功的提示。修改崗位在瀏覽崗位對話框中,選擇要修改的行,然后點擊修改按鈕,即可彈出新的對話框,在此對話框可以進行崗位編號,崗位名稱,崗位描述的修改,修改成功后,將得到相應(yīng)的提示信息。查詢崗位依次在主窗口中點擊崗位瀏覽,即可彈出崗位瀏覽對話框。薪金信息管理模塊設(shè)計添加薪金信息在主窗口中選擇員工薪金管理,再點擊“添加薪金”,就會彈出添加薪金信息對話框,依次填寫員工姓名,月份,備注,薪金等信息,按確定后,系統(tǒng)先檢查信息完整性,如果滿足要求,就可添加成功,并給出相關(guān)提示。刪除薪金信息在瀏覽員工的對話框窗口,先選擇要刪除的行,然后點擊刪除,如果刪除成功,則會給出“刪除員工'XXX'成功”的提示信息。修改薪金信息在瀏覽員工薪金的對話框中,選擇要修改的員工信息,然后點擊“修改”按鈕,即可彈出新的對話框,在這對話框可以更改月份,薪金,和備注這三項信息。查詢薪金信息在員工薪金信息瀏覽的對話框中,先在選擇員工的下拉框中選擇要查看的員工,之后點擊“開始查詢”,系統(tǒng)將會把所選員工的所有薪金信息顯示出來。九、實驗數(shù)據(jù)及結(jié)果分析:.崗位設(shè)置模塊設(shè)計運行結(jié)果添加崗位在主窗口中點擊“添加崗位”按鈕,即可彈出如下對話框,依次填寫崗位名稱,崗位描述后,點擊“確定”按鈕,將彈出添加成功的提示,如圖6所示。添加崗位崗位名稱用至課:程播吾更習(xí)生I崗位描述崗位描述源加盲位信宜成功!確走'取消I圖6崗位添加刪除崗位在瀏覽崗位的對話框中,首先選擇要刪除的行,然后點擊“刪除”按鈕,刪除成功后將彈出刪除成功的提示。如圖7所示。圖7圖7刪除崗位修改崗位在瀏覽崗位對話框中,選擇要修改的行,然后點擊修改按鈕,即可彈出新的對話框,在此對話框可以進行崗位編號,崗位名稱,崗位描述的修改,修改成功后,將得到相應(yīng)的提示信息。如圖8所示,實習(xí)生崗位名稱改成“普通員工”崗位的修改過程。

扁告同位名稱fiii,i—?SAJ1那槿設(shè)計買?!?!1:5③7一注182注實?*-1,一修及皂依to]陵改南位肉位綱號H崗位名弊件.A.?Q點位端講[譯—諛計實一生9修定|取消圖8修改崗位1.4查詢崗位依次在主窗口中點擊崗位瀏覽,即可彈出崗位瀏覽對話框,如圖9所75。圖9修改崗位.薪金信息管理模塊設(shè)計添加薪金信息在主窗口中選擇員工薪金管理,再點擊“添加薪金”,就會彈出添加薪金信息對話框,依次填寫員工姓名,月份,備注,薪金等信息,按確定后,系統(tǒng)先檢查信息完整性,如果滿足要求,就可添加成功,弁給出相關(guān)提示,如圖10所示。鳳,妊名悸儒僚備注確定」2.2刪除薪金信息,忝加薪金信息薪金在瀏覽員工的對話框窗口,rEjrsj2010-349QQI取消|圖10添加薪金信息先選擇要刪除的行,然后點擊刪除,出“刪除員工'XXX'成功”的提示信息。執(zhí)行效果如圖11所示。薪金信夏添加成功如果刪除成功,則會給口」Browseincome看通描員工函耐七1^3并蛤查詢I員工娟三月上月號金26060053112010034造備主員工科名自M端考工^手帝德16遇犯U'學(xué)作得應(yīng)功*5修改藏金信息則除替金官氫送出I圖11刪除員工薪金信息修改員工薪金信息12所示12所示魂」月蔚金備注員工雄名月蔚金備注員工雄名自動鎘號4939于偉71g16員工編呂月偽員工編呂利(TF圖12修改薪金信息查詢員工薪金信息在員工薪金信息瀏覽的對話框中,先在選擇員工的下拉框中選擇要查看的員工,之后點擊“開始查詢”,系統(tǒng)將會把所選員工的所有薪金信息顯示出來。執(zhí)行結(jié)果如圖13所示。圖13查詢薪金信息十、實驗結(jié)論:由實驗結(jié)果分析可知,崗位設(shè)置與薪金信息管理兩個模塊能正確地運行??梢詫崿F(xiàn)基本的添加,刪除,修改和查詢等操作。在前臺設(shè)計上,展現(xiàn)了C#語言的簡單,高效,面向?qū)ο蟮奶攸c,其可視化的設(shè)計方式,更讓程序員能把注意力集中到設(shè)計實現(xiàn)上來。在后臺的數(shù)據(jù)庫方面,再次驗證了Access能勝任本次實驗的所有功能需求。十八一、總結(jié)及心得體會:本次實驗是我第一次使用C#程序設(shè)計語言和MicrosoftOfficeAccess數(shù)據(jù)庫系統(tǒng)進行對實際的項目的模擬實現(xiàn)。由于是初次運用,實驗過程中遇到了不少困難,但每一次我都會認真分析問題所在,積極的搜集資料,和老師同學(xué)相互討論,最終把問題一一的解決了。在這過程中,不僅把平常老師在上課中講的理論知識結(jié)合到實際中來,還學(xué)會了如何去解決問題,更重要的是它增強了我對程序設(shè)計的興趣。另一方面,在設(shè)計的過程中,我對VistualStdio2005的實現(xiàn)原理有了更進一步的了解,通過C#語言的使用,我深深的體會到了其簡單,高效的特性,它具有VistualBasic的可視化設(shè)計方式,又結(jié)合了C++的嚴謹,高效,面向?qū)ο蟮倪\行機制。而在MicrosoftAccess方面,我認識到了SQL命令的編程實現(xiàn)方式,學(xué)會了如何在C#程序中調(diào)用Access數(shù)據(jù)庫。十二、對本實驗過程及方法、手段的改進建議:本實驗實現(xiàn)了員工管理信息系統(tǒng)的崗位和薪金管理這兩個模塊,并經(jīng)過初步的測試,其實現(xiàn)了所要求的功能。但一個投入運行的員工管理系統(tǒng)不僅要求在功能上,還要要求在細節(jié),用戶使用習(xí)慣上都得符合用戶的需求,而且需要經(jīng)過更加嚴謹?shù)臏y試,本次實驗中的測試的數(shù)據(jù)是人工輸入的,數(shù)據(jù)量比較小,可以開發(fā)一個輔助插件來模擬用戶的大量數(shù)據(jù)的輸入,以便更好地分析其在數(shù)據(jù)量大的時候的運行效果。源代碼:(因為代碼較多,在此只給出核心實現(xiàn)代碼)1崗位設(shè)置模塊代碼:添加崗位代碼privatevoidbutton1_Click(objectsender,System.EventArgse){if(textBox1.Text.Trim()==""||textBox2.Text.Trim()=="')MessageBox(0,"請輸入崗位名稱和描述!“,"提示",0);else{oleDbConnection1.0pen();OleDbCommandcmd=newOleDbCommand("select*fromjobinfowhereJobName='"+textBox1.Text.Trim()+""',oleDbConnection1);if(cmd.ExecuteScalar()!=null)MessageBox(0,"崗位名稱重復(fù),請重新輸入!","提示",0);else{stringsql="insertintojobinfo(JobName,Remark)values('"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"')";cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox(0,"添加崗位信息成功!","提示",0);textBox1.Clear();textBox2.Clear();)oleDbConnection1.Close();刪除崗位1)刪除崗位函數(shù)實現(xiàn)代碼:

privatevoidbutton3_Click(objectsender,System.EventArgse)(if(dataGrid1[dataGrid1.CurrentCell]!=null)(stringsql="selectJobNamefromjobinfoJoblD="+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"andJobIDnotin(selectdistinetjobinfo.JobIDfrompersoninfoinnerjoinjobinfoonpersoninfo.JobName=jobinfo.JobName)";OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);OleDbDataReaderdr;dr=cmd.ExecuteReader();if(!dr.Read())(MessageBox.Show(”刪除崗'"+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'請先刪除與此崗位相關(guān)的員工”,”提示)dr.Close();}else(dr.Close();sql="delete*fromjobinfowhereJobNamenotin(selectdistinctJobNamefrompersoninfo)JoblD="+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show(”刪除崗'"+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'","提示");}}}修改崗位)修改崗位信息函數(shù)代碼實現(xiàn):privatevoidbutton1_Click(objectsender,System.EventArgse)(if((textBox1.Text.Trim()==")||(textBox2.Text.Trim()==""))MessageBox.Show(提示","請輸入完整的崗位信息pelse(where位失敗,and位where位失敗,and位成功OleDbCommandcmd=newOleDbCommand("select*fromjobinfowhereJobName="'+textBox1.Text.Trim()+"'andJoblD<>"+this.Tag.ToString().Trim(),cn);if(null!=cmd.ExecuteScalar())MessageBox.Show('崗位名稱發(fā)生重復(fù)","提示");else{stringsql="updatejobinfosetJobName="'+textBox1.Text.Trim()+”',Remark="'+textBox2.Text.Trim()+"'whereJobID="+this.Tag.ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("崗位信息修改成功","提示");}cn.Close();}}1.4查詢崗位1)瀏覽崗位代碼實現(xiàn)函數(shù):privatevoidBrowseSpecialtyl_Load(objectsender,System.EventArgse){oleDbConnection1.Open();stringsql="selectJobIDas編號,JobNameas崗位名稱‘Remarkas描述fromjobinfo";OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleDbConnection1);ds=newDataSet();ds.Clear();adp.Fill(ds,"job");dataGrid1.DataSource=ds.Tables[0].DefaultView;}〃當(dāng)DataGridl中當(dāng)前單元格發(fā)生變化時,將對應(yīng)的崗位名稱顯示在DataGridl標(biāo)題中privatevoiddataGrid1_CurrentCellChanged(objectsender,System.EventArgse){oleDbConnectionl.Open();stringsql="selectJobIDas編號,JobNameas崗位名稱,Remarkas描述fromjobinfo";OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleDbConnection1);ds=newDataSet();ds.Clear();adp.Fill(ds,"job");dataGrid1.DataSource=ds.Tables[0].DefaultView;dataGridl.CaptionText=dataGrid1[dataGrid1.CurrentRowlndex,1].ToString();2薪金信息管理模塊代碼:2.1添加薪金信息添加薪金信息函數(shù)代碼實現(xiàn):privatevoidbutton1_Click(objectsender,System.EventArgse)(if(textBox2.Text.Trim()==""||comboBox1.Text.Trim()==""||textBox3.Text.Trim()==""||textBox4.Text.Trim()=="")MessageBox(0,"請?zhí)顚懲暾男畔?,"提示",0);else(stringstrSQL="select*fromincomewherePID="+comboBox1.SelectedValue.ToString()+”";OleDbCommandcmd=newOleDbCommand(strSQL,oleDbConnection1);//if(null!=cmd.ExecuteScalar())//MessageBox(0,”員工姓名重復(fù)","提示",0);//else//{stringsql1,sql2,sql;sql1="insertintoincome(Imonth,Remark,Income,PID";sql2="values('"+textBox2.Text.ToString()+"',"'+textBox3.Text.ToString()+”7"+textBox4.Text.ToString()+”',"+comboBox1.SelectedValue.ToString();sql=sql1+")"+sql2+")";cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox(0,"薪金信息添加成功","提示",0);//}}}2)添加薪金信息初始化函數(shù)代碼:privatevoidAddIncome_Load(objectsender,System.EventArgse){oleDbConnection1.Open();OleDbDataAdapteradp=newOleDbDataAdapter("selectPID,Pnamefrompersoninfo",oleDbConnection1);DataSetds=newDataSet();adp.Fill(ds,"person");comboBox1.DisplayMember="Pname";comboBox1.ValueMember="PID";comboBox1.DataSource=ds.Tables[0].DefaultView;2.2刪除薪金信息)刪除員工薪金實現(xiàn)函數(shù)代碼:privatevoidbutton4_Click(objectsender,System.EventArgse)(if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null)(stringsql="delete*fromincomewherePID='"+ds.Tables["income"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"”';OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("刪除員工'"+ds.Tables["income"].Rows[dataGrid1.CurrentCell.RowNumber][4].ToString().Trim()+"'成功","提示)}elseMessageBox.Show('沒有指定的員工信息","提示");}2.3修改薪金信息1)修改薪金函數(shù):privatevoidbutton1_Click(objectsender,System.EventArgse)(stringsql;sql="select*fromincomewherePID="'+comboBox1.SelectedValue.ToString()+"'andIID<>"+this.Tag.ToString().Trim();OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);if(null!=cmd.ExecuteScalar())MessageBox.Show("月份重復(fù)",”提示");else(sql="updateincomesetImonth="'+textBox2.Text.ToString()+"',Remark='"+textBox3.Text.ToString()+"',Income="'+textBox4.Text.ToString()+"',PID="'+comboBox1.SelectedValue.ToString()+""';//if(textBox8.Text.Trim()!="")//sql=sql+",Remark='"+textBox8.Text.Trim()+""';sql=sql+"whereIID="+this.Tag.ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show('員工薪金彳改成功","提示");}oleDbConnection1.Close();

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論