第5章第8節(jié)-統(tǒng)計(jì)查詢_第1頁(yè)
第5章第8節(jié)-統(tǒng)計(jì)查詢_第2頁(yè)
第5章第8節(jié)-統(tǒng)計(jì)查詢_第3頁(yè)
第5章第8節(jié)-統(tǒng)計(jì)查詢_第4頁(yè)
第5章第8節(jié)-統(tǒng)計(jì)查詢_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章第8節(jié)查詢統(tǒng)計(jì)董久敏本節(jié)學(xué)習(xí)要點(diǎn)1.供應(yīng)商交易記錄查詢。2.客戶交易記錄查詢。3.庫(kù)存查詢。4.采購(gòu)匯總查詢本節(jié)的任務(wù)目標(biāo)、知識(shí)要點(diǎn)

1.實(shí)現(xiàn)供應(yīng)商交易記錄查詢的設(shè)計(jì)。2.實(shí)現(xiàn)客戶交易記錄查詢的設(shè)計(jì)。3.實(shí)現(xiàn)庫(kù)存查詢的設(shè)計(jì)。4.實(shí)現(xiàn)采購(gòu)匯總查詢的設(shè)計(jì),任務(wù)目標(biāo)

1.SQL-Server內(nèi)聯(lián)查詢基礎(chǔ)知識(shí)。

2.C#中I/O操作的基礎(chǔ)知識(shí)。

3.C#中繪圖的基礎(chǔ)知識(shí)。知識(shí)要點(diǎn)任務(wù)1

—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字一、供應(yīng)商交易記錄查詢

用的窗體為:frmSupplierBusiReport.cs--功能:為供應(yīng)商交易記錄查詢界面中的交易記錄列表控件提供數(shù)據(jù)。數(shù)據(jù)需要從PurchaseMaster、Supplier、Product、PurchaseDetail這四個(gè)數(shù)據(jù)表中查詢:createprocprocSupplierBusinessRecord@fromDatevarchar(10),--查詢起始時(shí)間

@toDatevarchar(10),--查詢結(jié)束時(shí)間

@classFieldchar(1),--查詢類別0:按供應(yīng)商編號(hào)查詢--

1:按供應(yīng)商簡(jiǎn)稱查詢

@conditionvarchar(100)--查詢條件as任務(wù)1

—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字declare@queryByvarchar(20)if(@classField='0')--根據(jù)類別標(biāo)識(shí)更改查詢條件

set@queryBy='pm.SupplierID'elseset@queryBy='s.SupplierSimpleName'declare@sqlvarchar(800)

主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字set@sql='selecta.SupplierID,a.SupplierSimpleName,a.ProductName,a.Quantity,a.Amountfrom(selectSupplierID,SupplierSimpleName,pd.ProductID,ProductName,sum(PurchaseQuantity)asQuantity,sum(PurchaseAmount)asAmountfrom(selectPurchaseID,pm.SupplierID,SupplierSimpleNamefromPurchaseMasterpmjoinSuppliersonpm.SupplierID=s.SupplierIDwhere'+@queryBy+'like''%'+@condition+'%''andPurchaseDatebetween'''+@fromDate+'''and'''+@toDate+'''andpm.PurchaseProperty=1)aspsrjoinPurchaseDetailpdonpsr.PurchaseID=pd.PurchaseIDjoinProductponpd.ProductID=p.ProductIDgroupbypd.ProductID,ProductName,psr.SupplierID,psr.SupplierSimpleName)asaorderbyAmountdesc,Quantitydesc’exec(@sql)任務(wù)1

—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字說(shuō)明:1.最內(nèi)層子查詢,實(shí)現(xiàn)數(shù)據(jù)表PurchaseMaster與Supplier的內(nèi)連接。2.外層子查詢,實(shí)現(xiàn)將1.的查詢結(jié)果與數(shù)據(jù)表PurchaseDetail和Product的內(nèi)連接。3.最外層的查詢,從上述結(jié)果中,查詢需要的信息。任務(wù)1

—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

以下代碼請(qǐng)參見文件DataAccessLayer\SupplierBusiReportDAO.cs一、供應(yīng)商交易記錄查詢--功能描述:根據(jù)供應(yīng)商編號(hào)、供應(yīng)商簡(jiǎn)稱查詢指定期間的供應(yīng)商交易記錄信息。publicIList<IEntity>query(string[]values){stringsql="procSupplierBusinessRecord";SqlParameter[]parameters=newSqlParameter[4];parameters[0]=newSqlParameter("@fromDate",SqlDbType.VarChar,10);parameters[1]=newSqlParameter("@toDate",SqlDbType.VarChar,10);parameters[2]=newSqlParameter("@classField",SqlDbType.Char,1);任務(wù)2

—供應(yīng)商交易記錄查詢DAO主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字parameters[3]=newSqlParameter("@condition",SqlDbType.VarChar,100);parameters[0].Value=values[0];parameters[1].Value=values[1];parameters[2].Value=values[2];parameters[3].Value=values[3];returnnewDB().GeIEntityList(sql,CommandType.StoredProcedure,parameters,"SuperMarket.Entity.SupplierBusiReport");}

說(shuō)明:1.查詢結(jié)果的類型可能是多種類型,為了統(tǒng)一處理,可以采用泛型,也可以采用統(tǒng)一接口,本函數(shù)采用IEntity接口。

2.本函數(shù)為供應(yīng)商交易窗體frmSupplierBusiReport.cs中列表提供數(shù)據(jù)。3.string[]values,包含查詢的條件。任務(wù)2—供應(yīng)商交易記錄查詢DAO主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

一、將DataGiridView列表中的數(shù)據(jù)導(dǎo)出到Excel文件中函數(shù)(請(qǐng)參見Tools\

CommonUtil.cs文件)

///<summary>///功能:將DataGridView中選中的記錄導(dǎo)出到Excel中:///本函數(shù)要求DataGridView的第一列須為復(fù)選框。///</summary>///<paramname="dgv">DataGridView控件</param>///<paramname="strTitle">導(dǎo)出的Excel標(biāo)題</param>publicstaticvoidDataGridViewExportToExcel(DataGridViewdgv,stringstrTitle){SaveFileDialogsaveFileDialog=newSaveFileDialog();saveFileDialog.Filter="Excelfiles(*.xls)|*.xls";

任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字saveFileDialog.FilterIndex=0;saveFileDialog.RestoreDirectory=true;saveFileDialog.CreatePrompt=false;saveFileDialog.FileName=strTitle+".xls";//導(dǎo)出時(shí),點(diǎn)擊【取消】按鈕

if(saveFileDialog.ShowDialog()==DialogResult.Cancel){return;}//打開用戶選定的具有讀/寫權(quán)限的文件。

StreammyStream=saveFileDialog.OpenFile();//-0,使用默認(rèn)編碼。

StreamWritersw=newStreamWriter(myStream,System.Text.Encoding.GetEncoding(-0));stringstrHeaderText="";

任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字try{//寫標(biāo)題

for(inti=1;i<dgv.ColumnCount;i++){//列標(biāo)題之間空一定的距離

if(i>1){strHeaderText+="\t";}strHeaderText+=dgv.Columns[i].HeaderText;}//將表頭寫入文件中

sw.WriteLine(strHeaderText);//以下代碼將報(bào)表主體內(nèi)容寫到文件中

stringstrItemValue="";//依次讀取每行的值任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字for(intj=0;j<dgv.RowCount;j++){//如果本行的復(fù)選框沒(méi)有被選中,則忽略此行

if((bool)dgv.Rows[j].Cells[0].EditedFormattedValue!=true){continue;}strItemValue="";//依次讀取每列的值

for(intk=1;k<dgv.ColumnCount;k++){if(k>1){strItemValue+="\t";}任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字strItemValue+=dgv.Rows[j].Cells[k].Value.ToString();}//把dgv的每一行的信息寫到文件中

sw.WriteLine(strItemValue);}}catch(Exceptionex){MessageBox.Show(ex.Message,"軟件提示");throwex;}finally{//關(guān)閉流,釋放系統(tǒng)資源

sw.Close();myStream.Close();}}任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

說(shuō)明:1.功能:將DataGridview中的選中的記錄導(dǎo)出到指定的.excel文件中。其中DataGridview控件的第一列須要為DataGridViewCheckBoxColumn類型。2.sw.Close();myStream.Close();

關(guān)閉流,釋放系統(tǒng)資源。任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字注意:要引進(jìn).NET中的動(dòng)態(tài)庫(kù):System.Drawing.DLL、System.Windows.Forms.DLL

(以下代碼請(qǐng)參見Print項(xiàng)目中的WinPrinterPageSetting.cs文件一、

實(shí)現(xiàn)打印頁(yè)面設(shè)置、打印機(jī)設(shè)置、打印預(yù)覽對(duì)話框的類的設(shè)計(jì)。publicclassWinPrinterPageSetting

{//把PrintPage委托聲明為類的成員變量

privateSystem.Drawing.Printing.PrintEventHandler_beginPrintValue;privateSystem.Drawing.Printing.PrintPageEventHandler_printPageValue;……}

說(shuō)明:1.定義兩個(gè)委托類型的字段,在以后內(nèi)容,將會(huì)講述。任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字二、構(gòu)造函數(shù)///<summary>///使用printDocument來(lái)初始化類的新實(shí)例,當(dāng)printDocument為null時(shí)自動(dòng)創(chuàng)建一個(gè)printDocument的實(shí)例。///</summary>///<paramname="printDocument">如果為null,則提供一個(gè)默認(rèn)的PrintDocument</param>publicWinPrinterPageSetting(PrintDocumentprintDocument){if(printDocument!=null){_printDocument=printDocument;}任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字else{_printDocument=newPrintDocument();}}

二、BeginPrintValue屬性publicSystem.Drawing.Printing.PrintEventHandlerBeginPrintValue{set{//初始委托變量,關(guān)聯(lián)方法

_beginPrintValue=value;//委托調(diào)用任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字if(_beginPrintValue!=null){//如果簽名一次,則調(diào)用一次就增加了一次委托,所以先將以前的委托清掉//如果不這樣,有多次簽名后,第一次可正確打印預(yù)覽頁(yè)面,第二次或其它次可能就是僅偶數(shù)頁(yè)、奇數(shù)頁(yè)等奇怪現(xiàn)象。

_printDocument.BeginPrint-=newSystem.Drawing.Printing.PrintEventHandler(_beginPrintValue);}//BeginPrint事件:在調(diào)用Print方法時(shí)并且在打印文檔的第一頁(yè)之前發(fā)生。_printDocument.BeginPrint+=newSystem.Drawing.Printing.PrintEventHandler(this._beginPrintValue);}get{return_beginPrintValue;}}任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字三、PrintPageValue屬性///<summary>///一定要實(shí)例化此類后在調(diào)用打印/預(yù)覽之前設(shè)置此屬性,使之關(guān)聯(lián)一個(gè)///方法,目的

是讓具體的打印由實(shí)例化者來(lái)操作。這里當(dāng)屬性使用,

意思就是告訴printerPageSetting打印的具體實(shí)現(xiàn)過(guò)程是PrintPageEventHandler。///C#調(diào)用:/// PrinterPageSetting1.PrintPageValue=///newPrintPageDelegate(this.PrintPageEventHandler);///</summary>publicSystem.Drawing.Printing.PrintPageEventHandlerPrintPageValue{set{ //初始委托變量,關(guān)聯(lián)方法

_printPageValue=value;任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

//委托調(diào)用

if(_printPageValue!=null){//如果簽名一次,則調(diào)用一次就增加了一次委托,所以先將以前的委//托清掉。如果不這樣,有多次簽名后,第一次可正確打印預(yù)覽頁(yè)面,//第二次或其它次可能就是僅偶數(shù)頁(yè)、奇數(shù)頁(yè)等奇怪現(xiàn)象

_printDocument.Print=newSystem.Drawing.Printing.PrintPageEventHandler(_printPageValue);}//PrintDocument.PrintPage事件:當(dāng)需要為當(dāng)前頁(yè)打印的輸出時(shí)發(fā)生。

_printDocument.PrintPage+=newSystem.Drawing.Printing.PrintPageEventHandler(this._printPageValue);}get{return_printPageValue;} }任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

說(shuō)明:以上兩個(gè)屬性的類型都為委托類型,這樣可以通過(guò)給屬性賦值的方法,為有關(guān)的事件指定事件過(guò)程,方便了以后的開發(fā)應(yīng)用。

本類中的其它屬性、方法比較簡(jiǎn)單明了,不再做詳述。任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

(以下代碼請(qǐng)參見Print項(xiàng)目中的PrintOptions.cs窗體)

打印設(shè)置窗體如圖5-8-1、圖5-8-2打印設(shè)置界面所示。一、PrintDocument.BeginPrint事件過(guò)程的設(shè)計(jì)privatevoidPrintDoc_BeginPrint(objectsender,System.Drawing.Printing.PrintEventArgse){try{……//計(jì)算DataGridView的總寬度

foreach(DataGridViewColumnGridColindgv.Columns){//排除列表中隱藏的列

if(!GridCol.Visible)continue;

任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)添加標(biāo)題文字添加標(biāo)題文字圖5-8-1打印設(shè)置界面一任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)添加標(biāo)題文字添加標(biāo)題文字圖5-8-2打印設(shè)置界面二任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)的題文字添加標(biāo)題文字

//排除未選中的列

if(!SelectedColumns.Contains(GridCol.HeaderText))continue;TotalWidth+=GridCol.Width;}//獲取選中的總行數(shù)

foreach(DataGridViewRowgrindgv.Rows){//IsNewRow屬性:獲取一個(gè)指示行是否為用于新記錄的行的值。

if(gr.IsNewRow||(!PrintAllRows&&gr.Cells["colSelect"].Value==null)){continue;}selectedRows++;}//初始化變量

PageNo=1;NewPage=true;RowPos=0;}……}任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

說(shuō)明:1.PrintDocument.BeginPrint事件在調(diào)用Print方法時(shí)并且在打印文檔的第一頁(yè)之前發(fā)生。2.本函數(shù)的主要功能:在正式打印之前

(1)統(tǒng)計(jì)出DataGridview列表中各列的寬度之和,其中不包括:隱藏的列、未選中的列。

(2)統(tǒng)計(jì)出DataGridview列表中的總行數(shù),其中不包括最后一行的空行、未選中的行(如果打印行范圍為:選擇行)3.gr.Cells[“colSelect”].Value==null,本行未選中;gr.Cells[“colSelect”].Value==true,本行選中。任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字二、PrintDocument.PrintPage事件過(guò)程的設(shè)計(jì)privatevoidPrintDoc_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse){……}

說(shuō)明:1.PrintDocument.PrintPage事件,當(dāng)需要為當(dāng)前頁(yè)打印的輸出時(shí)發(fā)生。即正式從第一頁(yè)開始打印。2.if(PageNo==1){//計(jì)算每列的;列寬、列的left、列的類型

foreach(DataGridViewColumnGridColindgv.Columns){}}任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

以上If語(yǔ)句的作用:在開始打印第一頁(yè)之前,計(jì)算出要打印分每列的列寬、行高、打印時(shí)每列的開始位置、DataGridview中每列的類型,并將其保存到對(duì)應(yīng)的變量、集合中。3.逐行打印當(dāng)前頁(yè)的內(nèi)容

while(RowPos<=dgv.Rows.Count-1){……}4.if(tmpTop+CellHeight>=e.MarginBounds.Height+e.MarginBounds.Top){DrawFooter(e,RowsPerPage);NewPage=true;PageNo++;e.HasMorePages=true;return;}任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字如果if條件成立,則打印完一頁(yè)后,需要換頁(yè)打??;NewPage=true;則意味著在打印新頁(yè)時(shí),需要先打印標(biāo)題和表頭。否則,不需要打印標(biāo)題和表頭。4.e.HasMorePages=true:換頁(yè),繼續(xù)打印,e.HasMorePages=false:停止打印。5.if(NewPage){……}

如果if語(yǔ)句條件成立,則說(shuō)明剛開始打印新頁(yè),因此需要打印報(bào)表的標(biāo)題和表頭及表頭部分的背景。6.打印報(bào)表的主體部分foreach(DataGridViewCellCelinGridRow.Cells){……}

根據(jù)列的類型,逐列打印當(dāng)前行的內(nèi)容。7.在打印第一頁(yè)的過(guò)程中,統(tǒng)計(jì)出每頁(yè)打印的行數(shù)if(PageNo==1)RowsPerPage++;

任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

三、打印頁(yè)腳函數(shù)privatevoidDrawFooter(System.Drawing.Printing.PrintPageEventArgse,intRowsPerPage){doublecnt=0;if(PrintAllRows){if(dgv.Rows[dgv.Rows.Count-1].IsNewRow)cnt=dgv.Rows.Count-2;elsecnt=dgv.Rows.Count-1;}elsent=selectedRows;

}任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

說(shuō)明:以上代碼的作用確定打印的行數(shù):1.如果用戶選擇的是打印全部行,則需要判斷最后一行是否為空行,如果if(dgv.Rows[dgv.Rows.Count-1].IsNewRow)條件成立,則最后一行為空行,因此此行不包含在打印行中,再去掉DataGridview中表頭一行,這樣打印的行數(shù)為cnt=dgv.Rows.Count–2。2.如果用戶選擇的是打印選中的行,則打印行數(shù)為用戶選中的行數(shù),即cnt=selectedRows;

任務(wù)5

—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

(以下代碼請(qǐng)參見frmSupplierBusiReport.cs窗體)

供應(yīng)商交易記錄查詢窗體完成的功能:1.完成供應(yīng)商交易記錄的查詢。2.將查詢結(jié)果導(dǎo)出到Excel文件中。3.將查詢結(jié)果以報(bào)表形式打?。嚎梢詫⒉樵兘Y(jié)果全部打印,也尅將查詢結(jié)果中的部分行、部分列打印成報(bào)表。4窗體設(shè)計(jì)如下圖

圖5-8-3供應(yīng)商交易記錄查詢窗體所示。

任務(wù)6

—供應(yīng)商交易記錄查詢窗體的設(shè)計(jì)圖5-8-3供應(yīng)商交易記錄查詢窗體任務(wù)6

—供應(yīng)商交易記錄查詢窗體的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字

一、導(dǎo)出數(shù)據(jù)(到Excel)按鈕的單擊事件過(guò)程privatevoidbtnExport_Click(objectsender,EventArgse){//如果列表中沒(méi)有記錄,則返回。

if(dgvSupplierBusiReport.Rows.Count<=0)return;boolflag=false;//是否選擇了記錄的標(biāo)志

//for循環(huán)依次判斷列表中是否有選中的

for(inti=0;i<dgvSupplierBusiReport.Rows.Count;i++){//獲取該單元格的當(dāng)前格式化值if((bool)dgvSupplierBusiReport.Rows[i].Cells[0].EditedFormatted

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論