精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

實例講解:ASP.NET水晶報表教程

開發 后端
本文以一個三層結構的ASP.NET程序為例,介紹如何使用crystalreport來制作一份報表的ASP.NET水晶報表教程,其中著重介紹用ASP.NET水晶報表創建圖表的技巧。

報表是應用程序中不可缺少的部分,一張好的報表,能直觀地讓人把握數據的情況,對決策起到重要作用。那么,如果才能更快捷、更高效地實現報表呢?本文以一個三層結構的ASP.NET程序為例,介紹如何使用crystalreport,來制作一份報表,其中介紹了不少ASP.NET水晶報表的技巧。

在這個例子中,我們設想的應用要為一個銷售部門制作一份報表,管理者可以查看某段時間之內的銷售情況,以列表或者折線圖的形式反映出銷售的趨勢。我們將使用SQLServer 2000做為數據庫,使用VB.NET編寫中間層邏輯層,而前端的表示層使用C#。

介紹ASP.NET水晶報表教程之前,我們先來看下數據庫的結構。

實例講解:ASP.NET水晶報表教程之數據庫結構

其中,tbitem表中存放的是每張訂單中所訂購的貨品,tbsales存放的是每張訂單,tblsalesperson是銷售員表,存放該出版社的每位銷售員。

接下來,使用SQLServer 2000來創建這些表。表的結構如下所示:

  1. CREATETABLE[dbo].[tblItem](  
  2. [ItemId][int]NOTNULL,  
  3. [Description][varchar](50)NOTNULL  
  4. )ON[PRIMARY]  
  5. CREATETABLE[dbo].[tblSalesPerson](  
  6. [SalesPersonId][int]NOTNULL,  
  7. [UserName][varchar](50)NOTNULL,  
  8. [Password][varchar](30)NOTNULL  
  9. )ON[PRIMARY]  
  10. CREATETABLE[dbo].[tblSales](  
  11. [SaleId][int]IDENTITY(1,1)NOTNULL,  
  12. [SalesPersonId][int]NOTNULL,  
  13. [ItemId][int]NOTNULL,  
  14. [SaleDate][datetime]NOTNULL,  
  15. [Amount][int]NOTNULL  
  16. )ON[PRIMARY

并且用以下的代碼創建表之間的約束關系。

  1. ALTERTABLEtblItem  
  2. ADDCONSTRAINTPK_ItemId  
  3. PRIMARYKEY(ItemId)  
  4. GO  
  5. ALTERTABLEtblSalesPerson  
  6. ADDCONSTRAINTPK_SalesPersonId  
  7. PRIMARYKEY(SalesPersonId)  
  8. GO  
  9. ALTERTABLEtblSales  
  10. ADDCONSTRAINTFK_ItemId  
  11. FOREIGNKEY(ItemId)REFERENCEStblItem(ItemId)  
  12. GO  
  13. ALTERTABLEtblSales  
  14. ADDCONSTRAINTFK_SalesPersonId  
  15. FOREIGNKEY(SalesPersonId)REFERENCEStblSalesPerson(SalesPersonId)  
  16. GO 

ASP.NET水晶報表教程之創建中間邏輯層

在中間邏輯層組件中,我們為每一張表都創建兩個類。比如,對于tblItems表,創建item和items類。Item類中記錄每件銷售的貨品的詳細情況,而items表則記錄所有銷售的貨品并且有增加貨品的方法。這樣,就存在下面的六個類:

  Item and Items
  SalesPerson and SalesPersons
  Sale and Sales

接下來,看一下每個類中的屬性:

Item類

包括如下屬性
    ItemId (貨品id編號)
    Description (貨品的描述)
    Items

有一個方法,將根據item的編號返回一個item對象

    PublicFunctionGetAllItems()AsCollections.ArrayList

SalesPerson

該類有以下三個屬性:
    SalesPersonId(銷售員編號)
    Name(姓名)
    Password(密碼)

SalesPersons

有一個方法,根據銷售員登陸時輸入的用戶名和密碼,在數據庫中,驗證銷售員的登陸是否正確,如果正確,則返回零。

    PublicFunctionValidateUser(strUserNameasString,strPasswordasString)AsInteger

Sale

有如下5個屬性
    SaleId
    SalesPersonId
    ItemId
    SaleDate
    Amount

Sales

有兩個方法,其中getsales根據輸入的參數返回sales對象的集合

    PublicFunctionGetSales(OptionalnSaleIdAsInteger=0,OptionalnSalesPersonIdAsInteger=0,OptionalnItemIdAsInteger=0)AsCollections.ArrayList

還有一個addsales方法,用于增加一張訂單

    PublicFunctionAddSale(objSaleAsSale)

#p#

ASP.NET水晶報表教程之創建表現層頁面

接下來,開始創建表現層頁面。首先,要創建一個可以給銷售員登陸的頁面,如下圖所示。

實例講解:ASP.NET水晶報表教程之表現層頁面一

在銷售員成功登陸后,可以給銷售員輸入某樣貨品銷售的數量,如下圖:

此外,為了給業務主管看到某個時期的銷售情況,創建如下頁面。

實例講解:ASP.NET水晶報表教程之表現層頁面三

其中,業務主管可以選擇查看某樣貨品在某個時期(選擇開始日期,結束日期)的銷售情況,以圖表方式顯示。

這里特別值得一提的是,日歷控件的使用。在頁面中放置日歷控件后,設置如下代碼:

  1. <inputtype="image"onclick="Page_ValidationActive=false;"src="datepicker.gif"alt="ShowCalender"runat="server"onserverclick="ShowCal1"id="ImgCal1"name="ImgCal1"> 

這里設置page_validationactive參數為false,所以不需要重新提交頁面,并且,在onserverclick事件中,設置處理的代碼,如下所示:

 

  1. publicvoidShowCal1(Objectsender,System.Web.UI.ImageClickEventArgse)  
  2. {//顯示日歷控件  
  3. DtPicker1.Visible=true;  

當用戶選擇了相關的日期后,在文本框中可以獲得相關的日期:

  1. privatevoidDtPicker1_SelectionChanged(objectsender,System.EventArgse)  
  2. {  
  3. txtStartDate.Text=DtPicker1.SelectedDate.ToShortDateString();  
  4. DtPicker1.Visible=false;  

在提交的頁面中,處理的代碼如下:

  1. privatevoidbSubmit_ServerClick(objectsender,System.EventArgse)  
  2. {  
  3. Response.Redirect("ViewReport.aspx?ItemId="+cboItemType.SelectedItem.Value+"&StartDate="+txtStartDate.Text+"&EndDate="+txtEndDate.Text);} 

在提交頁面后,將跳轉到瀏覽報表的頁面viewreport.aspx,傳入相關的參數,如貨品ID,開始和結束日期。

ASP.NET水晶報表教程之創建報表

首先,往窗體中添加水晶報表控件,之后,就可以用水晶報表的報表設計器設計一份報表了。新建一個水晶報表文件類型,命名為itemreport.rpt,接著使用報表設計專家,并選擇設計標準型的報表,點下一步,出現如下畫面:

實例講解:ASP.NET水晶報表教程之選擇數據庫

我們選擇使用ADO類型的數據,在彈出的窗口中,設置好sqlserver的登陸名,登陸密碼,選擇好數據庫后,選擇在報表中使用tblsales表,如下圖:

實例講解:ASP.NET水晶報表教程之選擇報表

接著選Next,在要在報表中顯示的字段中,選擇SaleDate和Amount。之后,一直選NEXT,忽略其他相關設置,***,在圖表類型中選擇折線圖,如下圖:

***點擊finish,可以看到如下的報表:

實例講解:ASP.NET水晶報表教程之圖標類型

再次選擇報表專家,在彈出的窗口中選擇數據頁,在數據可用字段中選擇salesdate,并且可以在文本頁中,設置適當的報表標題。

實例講解:ASP.NET水晶報表教程之創建報表

由于要根據輸入的日期,貨品參數來動態顯示報表,因此我們要設置參數字段。在報表設計器中,在字段資源管理器中,選擇參數字段,鼠標右擊選擇“新建”,新建如下三個參數字段。

名稱: 類型:
ItemId Number
StartDate Date
EndDate Date

***,要設置相關的查詢公式,在除報表頁眉的區域,鼠標右鍵點擊,在彈出菜單中選擇“報表|編輯選擇公式|記錄”,輸入如下的公式:

實例講解:ASP.NET水晶報表教程之公式編輯器

在上面的公式編輯器中,分為左中右三部分,左邊的是報表的字段,中間的是相關的功能函數,最右邊的是運算符,雙擊其中選中的部分,則可以添加到下部的公式顯示區域中。***,保存建立的公式。

#p#

ASP.NET水晶報表教程之在程序中使用報表

接下來,我們可以在程序中用代碼處理和報表的連接過程。首先,在工程項目中,增加如下的兩個命名空間的引用(注意,在代碼中也必須用using引入它們):

  1. CrystalDecisions.CrystalReports.Engine  
  2. CrystalDecisions.Shared 

在viewreport.aspx的Page_load事件中,加入以下代碼

  1. //接收傳遞的參數  
  2. nItemId=int.Parse(Request.QueryString.Get("ItemId"));  
  3. strStartDate=Request.QueryString.Get("StartDate");  
  4. strEndDate=Request.QueryString.Get("EndDate");  
  5. //聲明報表的數據對象  
  6. CrystalDecisions.CrystalReports.Engine.DatabasecrDatabase;CrystalDecisions.CrystalReports.Engine.TablecrTable;  
  7. TableLogOnInfodbConn=newTableLogOnInfo();  
  8. //創建報表對象opt  
  9. ReportDocumentoRpt=newReportDocument();  
  10. //加載已經做好的報表  
  11. oRpt.Load("F:\\aspnet\\WroxWeb\\ItemReport.rpt");  
  12. //連接數據庫,獲得相關的登陸信息  
  13. crDatabase=oRpt.Database;  
  14. //定義一個arrtables對象數組  
  15. object[]arrTables=newobject[1];  
  16. crDatabase.Tables.CopyTo(arrTables,0);  
  17. crTable=(CrystalDecisions.CrystalReports.Engine.Table)arrTables[0];dbConn=crTable.LogOnInfo;  
  18. //設置相關的登陸數據庫的信息  
  19. dbConn.ConnectionInfo.DatabaseName="WroxSellers";dbConn.ConnectionInfo.ServerName="localhost";  
  20. dbConn.ConnectionInfo.UserID="sa";  
  21. dbConn.ConnectionInfo.Password="test";  
  22. //將登陸的信息應用于crtable表對象  
  23. crTable.ApplyLogOnInfo(dbConn);  
  24. //將報表和報表瀏覽控件綁定  
  25. crViewer.ReportSource=oRpt;  
  26. //傳遞參數  
  27. setReportParameters(); 

在上面的代碼中,首先接收了日期,貨品編號等參數,并實例化了Database,Table和TableLogOnInfo三個類,它們是用來在運行時,建立報表和數據庫的連接必需的。再使用

           oRpt.Load("F:\\aspnet\\WroxWeb\\ItemReport.rpt");

來裝載已經做好了的報表。

在裝載完報表后,將數據庫中要使用的表復制到一個對象數組中去,并選擇對象數組中的***個表元素,將其轉換為水晶報表的報表對象。接著,再設置LOGONINFO中的登陸數據庫的信息。***,將報表源與報表瀏覽控件綁定。

#p#

ASP.NET水晶報表教程之傳遞參數到ASP.NET水晶報表

定義一個新的過程,setReportParameters(),代碼如下:

  1. privatevoidsetReportParameters()  
  2. {  
  3. //alltheparameterfieldswillbeaddedtothiscollection  
  4. ParameterFieldsparamFields=newParameterFields();  
  5. //theparameterfieldstobesenttothereport  
  6. ParameterFieldpfItemId=newParameterField();  
  7. ParameterFieldpfStartDate=newParameterField();  
  8. ParameterFieldpfEndDate=newParameterField();  
  9. //設置在報表中,將要接受的參數字段的名稱  
  10. pfItemId.ParameterFieldName="ItemId";  
  11. pfStartDate.ParameterFieldName="StartDate";  
  12. pfEndDate.ParameterFieldName="EndDate";  
  13. ParameterDiscreteValuedcItemId=newParameterDiscreteValue();  
  14. ParameterDiscreteValuedcStartDate=newParameterDiscreteValue();ParameterDiscreteValuedcEndDate=newParameterDiscreteValue();  
  15.  
  16. dcItemId.Value=nItemId;  
  17. dcStartDate.Value=DateTime.Parse(strStartDate);  
  18. dcEndDate.Value=DateTime.Parse(strEndDate);  
  19.  
  20. pfItemId.CurrentValues.Add(dcItemId);  
  21. pfStartDate.CurrentValues.Add(dcStartDate);pfEndDate.CurrentValues.Add(dcEndDate);  
  22. paramFields.Add(pfItemId);  
  23. paramFields.Add(pfStartDate);  
  24. paramFields.Add(pfEndDate);  
  25.  
  26. //將參數集合綁定到報表瀏覽控件  
  27. crViewer.ParameterFieldInfo=paramFields;  

現在來解釋一下上面的代碼。在水晶報表中,瀏覽器控件有一個屬性parameterfieldsinfo,該屬性可以通過綁定parameterfields類型的集合,將相關的參數的實際數值傳遞到報表。Parameterfields類型集合通過add的方法,接收Parameterfield類型的對象。因此,我們先為itemid,startdate,enddate三個參數創建parameterfield類型的對象,并且設置它們對應報表中接受參數的名稱:

  1. ParameterFieldsparamFields=newParameterFields();  
  2. ParameterFieldpfItemId=newParameterField();  
  3. ParameterFieldpfStartDate=newParameterField();  
  4. ParameterFieldpfEndDate=newParameterField();  
  5. //設置在報表中,將要接受的參數字段的名稱  
  6. pfItemId.ParameterFieldName="ItemId";  
  7. pfStartDate.ParameterFieldName="StartDate";  
  8. pfEndDate.ParameterFieldName="EndDate"

接著,可以為這些參數字段設置具體的值了,但由于parameterfield必須接受ParameterDiscreteValue類型的對象,所以,再創建相關的實例:

  1. ParameterDiscreteValuedcItemId=newParameterDiscreteValue();  
  2. ParameterDiscreteValuedcStartDate=newParameterDiscreteValue();  
  3. ParameterDiscreteValuedcEndDate=newParameterDiscreteValue();  
  4. dcItemId.Value=nItemId;  
  5. dcStartDate.Value=DateTime.Parse(strStartDate);  
  6. dcEndDate.Value=DateTime.Parse(strEndDate); 

***,就可以在三個parameterfield的對象中的currentvalues中設置它們的值,并往paramFields集合中加進這三個parameterfield對象。

運行的結果如下。

以上ASP.NET水晶報表教程相關程序在VS.NET2003,crystalreport9以上版本可以正確運行。

【編輯推薦】

  1. 淺談ASP.NET報表控件
  2. 概述ASP.NET水晶報表
  3. VS.Net中的水晶報表的應用
  4. VS.NET 2002下水晶報表的安裝與部署
  5. ASP.NET 2.0部署WEB應用程序淺析
  6. ASP.NET中的數據源控件


 

責任編輯:老楊 來源: 搜狐IT
相關推薦

2009-07-29 09:29:06

ASP.NET水晶報表

2009-08-02 11:48:58

ASP.NET水晶報表ASP.NET

2009-08-25 17:00:32

ASP.NET水晶報表

2009-09-07 19:03:08

2009-11-05 14:03:28

Visual Stud

2009-08-31 15:11:23

C#調用水晶報表

2010-01-14 10:52:13

VB.NET水晶報表

2009-08-31 16:01:28

C#水晶報表數據獲取方

2009-10-16 13:30:51

VB.NET水晶報表控

2009-12-15 17:20:07

VS 水晶報表

2009-08-31 16:09:42

.net水晶報表使用學

2009-07-28 11:34:02

ASP.NET架設

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-22 17:45:35

ASP.NET教程

2009-07-30 14:18:02

ASP.NET實例教程

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-08-31 15:54:35

2009-07-24 09:20:15

數組實例

2009-08-04 16:33:50

ASP.NET移動開發

2009-11-02 09:14:51

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

女人天堂在线| 激情网站在线观看| 亚洲国产国产| 欧美三级电影网| 黄色网络在线观看| 亚洲av成人精品日韩在线播放| 西西人体一区二区| 精品久久久91| 亚洲综合网在线观看| 日本a人精品| 黑人巨大精品欧美一区二区| 亚洲一区二区三区午夜| 欧美 日韩 人妻 高清 中文| 日韩—二三区免费观看av| 欧美成人网在线| 亚洲天堂视频一区| 风间由美中文字幕在线看视频国产欧美| 色综合一个色综合亚洲| 草草草视频在线观看| 你懂的在线观看视频网站| 国产风韵犹存在线视精品| 国产精品麻豆va在线播放| 日韩精品视频免费看| 羞羞答答成人影院www| 亚洲欧美激情四射在线日| 日本在线视频播放| 日韩av懂色| 色婷婷久久99综合精品jk白丝| 97超碰在线视| av网站在线免费| 国产精品欧美经典| 欧美高清视频一区二区三区在线观看| 国产后入清纯学生妹| 日本系列欧美系列| 欧洲成人在线视频| 中文字幕亚洲高清| 尹人成人综合网| 欧美高清自拍一区| 欧美黑人性猛交xxx| 欧美激情偷拍自拍| 最近2019年好看中文字幕视频| 99久久久无码国产精品性| 欧美色资源站| 日韩久久精品电影| 亚洲国产综合视频| 婷婷亚洲精品| 国产丝袜视频一区| 艳妇乳肉亭妇荡乳av| 99re6热只有精品免费观看| 678五月天丁香亚洲综合网| 尤物国产在线观看| 久久亚洲国产精品尤物| 欧美日韩中文另类| 日韩av自拍偷拍| 91精品亚洲一区在线观看| 欧美精品自拍偷拍| 免费网站在线观看黄| 91成人在线网站| 欧美一二三区在线| 不卡的一区二区| 岛国成人av| 亚洲精品福利在线观看| av网页在线观看| 欧美女王vk| 中文字幕久热精品在线视频 | 久久国产视频播放| 亚洲综合电影一区二区三区| 18久久久久久| 久久久久久亚洲av无码专区| 日韩高清欧美激情| 国产区亚洲区欧美区| 国产美女免费视频| 成人免费av网站| 欧美第一黄网| 一广人看www在线观看免费视频| 中文字幕va一区二区三区| 操bbb操bbb| 漫画在线观看av| 欧美三级电影网| 国产乱淫av麻豆国产免费| 欧美大片网址| 在线视频欧美日韩精品| 全网免费在线播放视频入口| 在线看片成人| 国产精品日本精品| www.亚洲天堂.com| xnxx国产精品| 美女黄色片网站| 综合另类专区| 91麻豆精品国产91久久久久久久久| 成年人性生活视频| 蜜桃精品噜噜噜成人av| 日韩中文字幕在线| 日韩免费视频网站| 美女www一区二区| 粉嫩精品一区二区三区在线观看 | 操人视频在线观看欧美| 久久精品国产亚洲av香蕉| 久久久久国产精品一区二区| 91精品久久久久久久久中文字幕| 视频污在线观看| 国产精品国产馆在线真实露脸| 日本大片免费看| 日本精品裸体写真集在线观看| 日韩手机在线导航| 大胸美女被爆操| 亚洲另类自拍| 91性高湖久久久久久久久_久久99| 五月婷婷伊人网| 亚洲欧美国产毛片在线| 黄色片视频在线播放| 天堂av一区| 日韩一区二区三区国产| 天天干在线播放| 国产精品91xxx| 色播五月综合| 中文在线а√在线8| 欧美一区二区视频在线观看| 精品人妻无码一区二区三区换脸| 黄色精品网站| 91超碰在线电影| 色综合久久久久综合一本到桃花网| 性久久久久久久久| 日本泡妞xxxx免费视频软件| 日韩欧美午夜| 国产成人精品久久亚洲高清不卡| 亚洲狼人综合网| 亚洲视频资源在线| 91高清国产视频| 欧美一区二区三区高清视频| 2019国产精品自在线拍国产不卡| 亚洲免费成人网| 亚洲人成在线播放网站岛国| 在线观看av网页| 国产最新精品| 欧美有码在线观看视频| 先锋av资源站| 午夜不卡av在线| av黄色一级片| 在线日本高清免费不卡| www.成人三级视频| 日本无删减在线| 日韩欧美一级在线播放| 一区二区成人免费视频| 国产精品一区二区男女羞羞无遮挡| 在线观看欧美激情| 亚洲精品一区二区在线播放∴| 中文字幕av一区中文字幕天堂| 99re热视频| 国产精品久久久久精k8 | 妞干网这里只有精品| 亚洲爽爆av| 欧美xxxx14xxxxx性爽| 国产不卡精品视频| 一区av在线播放| 国产精品果冻传媒| 夜夜夜久久久| 青娱乐国产91| 巨大黑人极品videos精品| 在线午夜精品自拍| 国产乱淫av免费| 亚洲综合男人的天堂| 97人妻精品一区二区三区免费| 激情综合中文娱乐网| 国产一区国产精品| 波多野结衣亚洲| 色系列之999| 国产黄色片av| 黑人巨大精品欧美一区二区三区| 国产一区二区三区四区五区六区| 日本不卡视频在线| 天天想你在线观看完整版电影免费| 人人爱人人干婷婷丁香亚洲| 午夜精品一区二区三区在线| 青青免费在线视频| 欧美高清视频www夜色资源网| 超碰在线国产97| 99视频在线精品| 成人性视频欧美一区二区三区| 久久影院一区| 国产乱码精品一区二区三区卡| 在线观看爽视频| 久久久精品在线观看| 色一情一乱一乱一区91av| 色婷婷久久综合| 久久精品一级片| 久久久一区二区三区捆绑**| 在线黄色免费看| 一本色道久久| 在线观看成人一级片| 免费日韩一区二区三区| 国产欧美 在线欧美| 不卡的av影片| 日韩在线免费高清视频| 欧美 日韩 人妻 高清 中文| 欧美日韩视频专区在线播放| 久草精品视频在线观看| 欧美韩日一区二区三区四区| 中文字幕在线观看91| 日本sm残虐另类| 国产在线播放观看| 图片区亚洲欧美小说区| 免费成人看片网址| 亚洲国产aⅴ精品一区二区| 国产精品久久99久久| 欧美巨大xxxx做受沙滩| 色偷偷av一区二区三区| 五月天激情婷婷| 日韩一区二区免费高清| 中文字幕视频一区二区| 激情成人在线视频| 波多野结衣不卡视频| 国产欧美日韩久久| 国产亚洲色婷婷久久99精品91| 国产中文一区二区三区| 亚洲一区二区蜜桃| 亚洲欧美激情诱惑| 免费的一级黄色片| 久久久久久免费视频| 色吧亚洲视频| 欧美精品尤物在线观看| 久久99精品国产一区二区三区| 国产午夜久久av| 成人精品久久久| 国产私拍福利精品视频二区| 91大神在线播放精品| 国产偷倩在线播放| 欧美国产日韩精品| 最新国产露脸在线观看| 精品精品国产国产自在线| 91高清在线视频| 亚洲日韩中文字幕在线播放| 四虎电影院在线观看| 亚洲国产一区自拍| 懂色av蜜臀av粉嫩av分享吧| 日韩视频在线观看一区二区| 国内精品久久久久久久久久 | 日本欧美国产在线| 中文字幕资源网在线观看免费 | 懂色aⅴ精品一区二区三区| 日本精品久久久久影院| 欧美大片免费高清观看| 日韩免费在线免费观看| 日日夜夜天天综合| 国产精品久久久久av| 欧洲av一区二区| 国产精品女视频| 国产成人亚洲一区二区三区| 国产精品专区h在线观看| 日韩av懂色| 99久久精品无码一区二区毛片 | 视频在线日韩| 国产精品高潮呻吟久久av无限| 亚洲男人av| 97婷婷涩涩精品一区| 麻豆免费在线| 国产精品电影网站| 韩国成人在线| 国产日产欧美a一级在线| 亚洲日韩中文字幕一区| 亚洲www在线| 日韩视频一区二区三区四区| 国内精品国语自产拍在线观看| 极品束缚调教一区二区网站| 国产精品免费一区二区三区四区| 久久男人av| 日本成人三级电影网站| 国产一区二区亚洲| 中文字幕日韩精品久久| 综合一区二区三区| 国产91沈先生在线播放| 久久人人97超碰国产公开结果| 无遮挡又爽又刺激的视频| 日韩精品电影一区亚洲| 久国产精品视频| 国产精品18久久久久久久网站| 成人一区二区三区仙踪林| 久久综合久久综合久久| 无码人妻aⅴ一区二区三区69岛| 国产精品视频观看| 国产性70yerg老太| 日韩欧美a级成人黄色| 亚洲婷婷久久综合| 精品欧美一区二区久久| 无码国产精品96久久久久| 亚洲偷欧美偷国内偷| 97caopor国产在线视频| 8x海外华人永久免费日韩内陆视频 | 神马午夜伦理影院| 在线亚洲自拍| 激情黄色小视频| 国产99久久久精品| 刘亦菲国产毛片bd| 亚洲国产视频网站| 黑鬼狂亚洲人videos| 欧美色播在线播放| 亚洲中文一区二区三区| 日韩一卡二卡三卡四卡| 国产资源在线看| 久热精品视频在线免费观看| 久草成色在线| 国产自产女人91一区在线观看| 北条麻妃在线一区二区免费播放| 狠狠色噜噜狠狠狠狠色吗综合| 国产成人精品999在线观看| 亚洲免费av网| 国产精品久久久亚洲一区| 色片在线免费观看| av亚洲精华国产精华精| 亚洲熟女www一区二区三区| 日本久久一区二区三区| 亚洲国产精品久久人人爱潘金莲| 中文字幕自拍vr一区二区三区| av有码在线观看| 国产男女猛烈无遮挡91| 国产亚洲欧美日韩在线观看一区二区| 欧美日韩午夜爽爽| 性欧美暴力猛交另类hd| 日本少妇一区二区三区| 国产免费观看久久| 国产又大又黄视频| 日韩欧美国产麻豆| 成人在线观看免费| 日本一区二区在线播放| 91精品国产自产在线丝袜啪| 视频一区二区在线| 视频在线观看一区| a天堂视频在线观看| 亚洲乱码中文字幕| 国产精品九九九九| 中文字幕日韩视频| 欧美理论电影| 国产精品二区三区四区| 91精品蜜臀一区二区三区在线| 欧美一级特黄a| 久久久久国产一区二区三区四区| 国产在线观看免费av| 欧美xfplay| 色黄网站在线观看| 91精品天堂| 欧美日韩综合| 少妇愉情理伦片bd| 亚洲六月丁香色婷婷综合久久| 在线视频你懂得| 一本色道久久综合亚洲精品小说| 国产精品亚洲一区二区三区在线观看| 久久精品人成| 在线观看一区| 88久久精品无码一区二区毛片| 欧美日韩国产一区二区三区| 日本福利在线观看| 欧美一级电影在线| 日韩欧美天堂| 粉嫩虎白女毛片人体| 91在线精品一区二区三区| 成人免费a视频| 国产婷婷97碰碰久久人人蜜臀 | 国产精品久久观看| 国产精品入口免费软件| 中文字幕在线播放不卡一区| 一区二区三区精| 一区二区亚洲精品国产| 婷婷精品久久久久久久久久不卡| 一区二区三视频| 国产成人在线电影| 永久免费看片在线播放| 欧美zozo另类异族| 日韩精品99| 亚洲精品日韩精品| 成人在线综合网| 在线天堂中文字幕| 亚洲性av网站| 欧洲美女精品免费观看视频| 四虎影院一区二区| av成人免费在线| 免费无码国产精品| www国产精品com| 99re热精品视频| 中国丰满人妻videoshd | 日本一级二级视频| 亚洲电影免费观看高清| 91在线亚洲| 国产1区2区3区中文字幕| 国产日韩欧美a| 国产乱码久久久久| 91精品国产高清久久久久久| 免费欧美一区| caoporm在线视频| 亚洲精品视频一区| 深夜福利视频在线免费观看| 91av在线影院| 亚洲男女av一区二区| 亚洲av成人精品一区二区三区| 欧美中文字幕一二三区视频| caoporn免费在线| 日本a级片久久久| 国产aⅴ精品一区二区三区色成熟| 一级成人黄色片| 欧美国产日韩xxxxx| 欧美精品尤物在线观看|