亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

在Delphi中動態(tài)生成QuickReport報表

2019-11-18 18:36:20
字體:
供稿:網(wǎng)友

----筆者在前一段使用Delphi開發(fā)數(shù)據(jù)庫的工作中,用戶提出了這樣一個需求:要根據(jù)自己的的查詢結(jié)果動態(tài)生成報表然后進行打印。幾經(jīng)摸索,筆者使用動態(tài)生成QuickReport控件的方法滿足了用戶的需求?,F(xiàn)將此方法說明如下,希望能為有類似工作要做的朋友們提供一點有益的提示。

 

一、基本思路

----先將查詢的一些參數(shù)(如SQL命令,字段名稱,字段寬度等)按照一定格式寫入一個臨時文件中。在生成報表時,根據(jù)臨時文件中所記錄的參數(shù)動態(tài)生成各種QuickReport控件即可。

 

二、程序?qū)崿F(xiàn)

2.1臨時文件格式

----臨時文件的格式可以根據(jù)需要自定義,筆者采用了INI的文件格式。Delphi提供了一個TInifile類,使得在Delphi中操作INI格式文件,非常方便。關(guān)于INI文件的格式和具體操作相關(guān)的文章有不少,我這里不再贅述。臨時文件格式如下:

Report.ini 

:報表細節(jié)

[rep_detail]

Title=XXXXX

:打印紙設(shè)置,1A4,2B5,316K

Page=1

:打印方式,1為橫打,0為豎打

Orientation=1

:報表包含的字段數(shù)目

columns=8

 

:TQurey組件信息

[QureyData]

QuickReport組件中Tqurey組件的SQL命令的內(nèi)容

Sql_command=select V_XM,V_JGZW,V_BMMC,V_DWMC,V_DWZW,V_ZY,V_ZC,V_BGDH from Hvzzjg where V_XM  LIKE '%'

 

[col_0]

Caption= 

DataFiled=V_XM

Width=60

……

……

 

2.2動態(tài)生成QuickReport報表

--- 報表的主要控件及其主要屬性設(shè)置如下

控件名稱

類名

屬性

屬性值

Form_rep

TForm

caption

動態(tài)報表

QuickRep

TQuickRep

DataSet

REP_QUERY

DetailBand1

TQRBand

BandType

rbDetail

ColumnHeaderBand1

TQRBand

BandType

rbColumnHeader

REP_DataSource

TDataSource

DataSet

Rep_Query

Rep_Query

TQuery

DatabaseName

REPDATABASE

Rep_Database

 

TDatabase

 

Connected

True

Params.Strings

'SERVER NAME=XXX

'USER MAME=XXX'

'PASSWord=XXX'

DatabaseName

REPDATABASE

上表所示控件是在程序中手工創(chuàng)建的。其他的控件則要在程序中動態(tài)創(chuàng)建。

2.2.2主要程序

unit f_rep;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, QuickRpt, QRCtrls, DB, DBTables,PRINTERS,QRPrntr,inifiles,

  TeeProcs, TeEngine, DbChart, QRTEE;

 

type

  TForm_rep = class(TForm)

    QuickRep: TQuickRep;

    DetailBand1: TQRBand;

    ColumnHeaderBand1: TQRBand;

    REP_DataSource: TDataSource;

    REP_QUERY: TQuery;

    rep_Database: TDatabase;

    procedure TForm_rep.QuickRepAfterPreview(Sender: TObject);//瀏覽完畢,釋放所有創(chuàng)建的組件

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var  Form_rep:TForm_Rep;

    type //報表的摘要信息

       C_rep_Summary=record

         Title:string;//報表的標(biāo)題

         Page:TQRPaperSize;//報表的頁面設(shè)置,采用何種型號的紙

         Orientation:TPrinterOrientation;//報表的頁面設(shè)置,是橫打還是豎打

         Columns:integer;//報表包含的列數(shù)

     end;

 

     type

        C_Rep_Col_Summary=record//報表列的摘要信息

           Caption:string;//報表的列名

           DataFiled:string;//報表的列所對應(yīng)的數(shù)據(jù)庫中的字段名

           Width:integer;//報表的列寬

     end;

 

     type

        C_Rep_Col_Sum_store=record //存儲報表列的摘要信息

         Caption_array:array of string;

         DataFiled_array:array of string;

         Width_array:array of integer;

     end;

var 

     rep_Summary:C_rep_Summary;

     Rep_Col_Summary:C_Rep_Col_Summary;

     Rep_Col_Sum_store:C_Rep_Col_Sum_store;

     Colum_Name:array of tQRRichText;

     Colum_Data:array of TQRDBRichText;

     C_Query:TQuery;

    

 

procedure  Form_rep_init();

procedure DynCreat_TQRDBText(Colum_Num:integer;Colum_Height:integer;DataSet_Name:TQuery);//動態(tài)創(chuàng)建TQRDBText控件

procedure  DynCreat_TQRRichtext(Colum_Num:integer);//動態(tài)創(chuàng)建TQRRichtext控件

procedure  DynCreat_TQuery(Inifile_Name:Tinifile);//動態(tài)創(chuàng)建TQuery控件的SQL語句

procedure  Get_PageCount();//取得打印總頁數(shù)

function   Open_IniFile():Tinifile;//打開臨時文件

procedure  Read_Col_Summary(Inifile_Name:Tinifile);//讀取報表列的摘要信息

procedure  Read_Rep_Summary(Inifile_Name:Tinifile);//讀取報表的摘要信息

function   rep_chanslateOrientation(var Rep_Orientation:integer):TPrinterOrientation;//將打印方式設(shè)置進行轉(zhuǎn)換

function rep_chanslatepage(var Rep_Page:integer):TQRPaperSize;//將打印頁尺寸設(shè)置進行轉(zhuǎn)換

 

implementation

 

{$R *.dfm}

 

function rep_chanslatepage(var Rep_Page:integer):TQRPaperSize;//將打印頁類型設(shè)置進行轉(zhuǎn)換

begin

    case  Rep_Page of

1:begin

           result:=A4;

           Form_rep.QuickRep.PrinterSettings.PaperSize:=A4;

         end;

       2:begin

           result:=B5;

           Form_rep.QuickRep.PrinterSettings.PaperSize:=B5

         end;

       3:begin

           result:=Executive;

           Form_rep.QuickRep.PrinterSettings.PaperSize:=Executive;

         end;

    end;

end;

 

function rep_chanslateOrientation(var Rep_Orientation:integer):TPrinterOrientation;//將打印方式設(shè)置進行轉(zhuǎn)換

begin

    case  Rep_Orientation of

       0:begin

           result:=poPortrait;//0為豎直

           Form_rep.QuickRep.PrinterSettings.Orientation:=poPortrait;

         end;

       1:begin

           result:=poLandscape;//1為水平

           Form_rep.QuickRep.PrinterSettings.Orientation:=poLandscape;

         end;

    end;

end;

 

function  Open_IniFile():Tinifile;//打開臨時文件

var Filename:string;

    Ini_Filename:string;

begin

     Filename:=’Report.ini’;

     Ini_Filename:=File_Path+Filename;

     Result:=Tinifile.Create(Ini_Filename);

end;

 

procedure Read_Rep_Summary(Inifile_Name:Tinifile);//讀取報表的摘要信息

var  Rep_Page,Rep_Orientation:integer;

begin

    rep_Page:=Inifile_Name.Readinteger('rep_detail','Page',1);

    Rep_Orientation:=Inifile_Name.Readinteger('rep_detail','Orientation',0);

    with  rep_Summary do

     begin

       Columns:=Inifile_Name.Readinteger('rep_detail','columns',0);

       Title:=Inifile_Name.Readstring('rep_detail','Title','未命名報表');

       page:=rep_chanslatepage(Rep_Page);//將打印頁尺寸進行轉(zhuǎn)換

       Orientation:=rep_chanslateOrientation(Rep_Orientation);//將打印方式設(shè)置進行轉(zhuǎn)換

     end;

end;

 

procedure  Read_Col_Summary(Inifile_Name:Tinifile);//讀取報表列的摘要信息

var i_count:integer;

begin

     //將列信息保存在數(shù)組中

     with Rep_Col_Sum_store do

     begin

       SetLength(Caption_array,rep_Summary.Columns);

       SetLength(DataFiled_array,rep_Summary.Columns);

       SetLength(Width_array,rep_Summary.Columns);

     end;

     for i_count:=0 to rep_Summary.Columns-1 do

     begin

       with Rep_Col_Summary do

         begin

           Caption:=Inifile_Name.Readstring('col_'+inttostr(i_count),'Caption','未命名');

           DataFiled:=Inifile_Name.Readstring('col_'+inttostr(i_count),'DataFiled','');

           Width:=Inifile_Name.Readinteger('col_'+inttostr(i_count),'Width',0);

         end;

       with Rep_Col_Sum_store  do

         begin

           Caption_array[i_count]:=Rep_Col_Summary.Caption;

           DataFiled_array[i_count]:=Rep_Col_Summary.DataFiled;

           Width_array[i_count]:=Rep_Col_Summary.Width;

         end;

    end;

end;

 

procedure DynCreat_TQRRichtext(Colum_Num:integer);//動態(tài)創(chuàng)建TQRRichtext控件,此控件用來顯示報表每列的中文名稱

var Colum_Name_list:TStrings;

begin

     Colum_Name[Colum_Num]:=tQRRichtext.Create(application); //創(chuàng)建TQRRichtext控件

     Colum_Name[Colum_Num].Parent:=Form_rep.ColumnHeaderBand1;

     Colum_Name[Colum_Num].Frame.DrawTop:=true;

     Colum_Name[Colum_Num].Frame.DrawBottom:=true;

     Form_rep.ColumnHeaderBand1.Height:=40;

     Colum_Name[Colum_Num].Height:=40;

     Colum_Name[Colum_Num].Font.Height:=-14;

     Colum_Name[Colum_Num].Font.Name:='黑體';

     Colum_Name[Colum_Num].Top:=0;

     Colum_Name[Colum_Num].Alignment:=taCenter;

     Colum_Name[Colum_Num].AutoStretch:=false;

      //畫表格線

     Colum_Name[Colum_Num].Frame.Style:=psSolid;

     Colum_Name[Colum_Num].Frame.Width:=1;

     Colum_Name[Colum_Num].Frame.DrawRight:=true;

     Colum_Name[Colum_Num].Frame.DrawBottom:=true;

     if Colum_Num=0 then

        begin

          Colum_Name[Colum_Num].Frame.DrawLeft:=true;

        end;

     //將記錄RRep_Col_Sum_store中的信息賦給Colum_Name

     Colum_Name_list:=TStringList.Create;

     Colum_Name_list.Add(Rep_Col_Sum_store.Caption_array[Colum_Num]);

     Colum_Name[Colum_Num].Lines:=Colum_Name_list;

     Colum_Name[Colum_Num].Width:=Rep_Col_Sum_store.Width_array[Colum_Num];

     Colum_Name[Colum_Num].Visible:=true;

     //計算左邊界

     if Colum_Num>0 then

        Colum_Name[Colum_Num].Left:=Colum_Name[Colum_Num-1].Left+Colum_Name[Colum_Num-1].Width

     else

        Colum_Name[Colum_Num].Left:=0;

end;

說明:此處采用TQRRichtext控件是因為當(dāng)名稱過長時,TQRRichtext控件可以自動換行。

    

procedure DynCreat_TQRDBText(Colum_Num:integer;Colum_Height:integer;DataSet_Name:TQuery);//動態(tài)創(chuàng)建TQRDBText控件,此控件用來顯示每列的值

begin

Colum_Data[Colum_Num]:=tQRDBText.Create(application);

    Colum_Data[Colum_Num].Parent:=Form_rep.DetailBand1;

    //設(shè)置數(shù)據(jù)集

    Colum_Data[Colum_Num].DataSet:=DataSet_Name;

    //將數(shù)組Colum_Data.DateField屬性設(shè)置為C_Rep_Col_Sum_store中的字段名

    Colum_Data[Colum_Num].DataField:=Rep_Col_Sum_store.DataFiled_array[Colum_Num];

    Colum_Data[Colum_Num].Width:=Rep_Col_Sum_store.Width_array[Colum_Num];

    Colum_Data[Colum_Num].Height:=Colum_Height;

    Form_rep.DetailBand1.Height:=Colum_Height;

    Colum_Data[Colum_Num].Top:=0;

    Colum_Data[Colum_Num].AutoSize:=false;

    Colum_Data[Colum_Num].AutoStretch:=false;

    Colum_Data[Colum_Num].WordWrap:=false;

    Colum_Data[Colum_Num].Visible:=true;

    //畫表格線

    Colum_Data[Colum_Num].Frame.Style:=psSolid;

    Colum_Data[Colum_Num].Frame.DrawRight:=true;

    Colum_Data[Colum_Num].Frame.DrawBottom:=true;

    if Colum_Num=0 then

      Colum_Data[Colum_Num].Frame.DrawLeft:=true;

    //計算左邊界

     if Colum_Num>0 then

       Colum_Data[Colum_Num].Left:=Colum_Data[Colum_Num-1].Left+Colum_Data[Colum_Num-1].Width

     else

        Colum_Data[Colum_Num].Left:=0;

end;

 

procedure DynCreat_TQuery(Inifile_Name:Tinifile);//動態(tài)設(shè)置TQuery控件的SQL語句

var

    Sql_command:string;

begin

     Flag_CreatQuery:=false;

     Sql_command:=Inifile_Name.Readstring('QureyData','Sql_Command','');

     Form_rep.REP_QUERY.Close;

     Form_rep.REP_QUERY.SQL.Clear;

     Form_rep.REP_QUERY.SQL.Append(Sql_command);

     if not Form_rep.REP_QUERY.Prepared then

       Form_rep.REP_QUERY.Prepare;

     try

       Form_rep.REP_QUERY.ExecSQL;

       Form_rep.REP_QUERY.Active:=true;

       Form_rep.REP_QUERY.AutoCalcFields:=true;

       Flag_CreatQuery:=true;

     except

       Application.MessageBox('SQL語句錯誤!','系統(tǒng)提示',MB_ICONWARNING);

       Flag_CreatQuery:=false;

     end;

end;

 

procedure Form_rep_init();

var  i_count:integer;

     Rep_IniFile:Tinifile;//

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

高清不卡av| 精品久久免费看| www.超碰在线| 国产欧美日韩专区发布| 日韩小视频在线观看专区| 久久欧美肥婆一二区| 91欧美精品午夜性色福利在线| 欧美77777免费视频| 青青青在线播放| 天天色天天射天天干| 黑人巨大精品欧美一区二区桃花岛| 欧美va亚洲va国产综合| 一本一本久久a久久精品牛牛影视| xfav资源| 国产成人生活片| 国产精品成人国产| av2014天堂网| 亚洲大奶少妇| 国产高清自产拍av在线| 性色av蜜臀av| 日本人成精品视频在线| www亚洲天堂| 中文字幕av第一页| 久久久噜噜噜久久中文字幕色伊伊| 国产精品亚洲视频| 91人人澡人人爽| 国产精品久久久久久久久久久久午夜片| 久久久久久久片| 欧美极品少妇xxxxⅹ高跟鞋| 户外露出一区二区三区| 日韩经典一区| 小说区图片区亚洲| a级黄色一级片| 一区二区三区欧美久久| 国产精品大全| 在线播放www| а天堂中文在线资源| 日日摸夜夜添夜夜添国产精品| 中文字幕久热| yy111111少妇影院日韩夜片| 欧美性xxxx极品hd欧美风情| 91在线视频免费| jizzjizz中国精品麻豆| 福利在线白白| 精品一区二区在线视频| 亚洲 欧美 变态 另类 综合| 操碰在线免费| 国产成人精品电影久久久| 99国产成+人+综合+亚洲欧美| 欧美黑人极品猛少妇色xxxxx| 99pao成人国产永久免费视频| 视频国产一区二区| 国产精品久久久久久久久免费| 一级做a爰片久久毛片美女图片| 国产制服91一区二区三区制服| 97久久人人超碰caoprom欧美| 亚洲视频在线观看日本a| 成人激情视频免费在线| 久久久免费看| xvideos入口| 91久久久一线二线三线品牌| 免费在线播放第一区高清av| www浪潮av99com| 91精品91久久久中77777| 8888在线观看免费www| 国产中文字幕第一页| 亚洲va在线va天堂| 久久久国产精品午夜一区ai换脸| 粉嫩的18在线观看极品精品| 国产专区一区| 欧美精品手机在线| 国产麻豆视频免费观看| 五月婷婷深深爱| 97aⅴ精品视频一二三区| 亚洲天堂久久久| 一区二区三区久久久| 欧美xxxxx精品| 右手影院亚洲欧美| 午夜国产小视频| 欧美丰满老妇熟乱xxxxyyy| 特级丰满少妇一级aaaa爱毛片| 欧美日韩久久久久| 国产精品福利网| 在线天堂中文www官网| 中文天堂在线播放| 精品黑人一区二区三区观看时间| 日韩人妻一区二区三区蜜桃视频| crdy在线观看欧美| 亚洲线精品一区二区三区| 97精品国产97久久久久久粉红| 欧美 国产 精品| 97久久人国产精品婷婷| 一区二区在线观看av| 久久在线视频在线| 精品少妇人妻av一区二区三区| 北岛玲heyzo一区二区| 日韩电影在线一区| 影音先锋男人看片资源站| 成人免费毛片糖心| 欧美日韩在线精品| 无码少妇一区二区| 国产特级黄色录像| 91精品国产乱码久久久久久久久| 黑人一区二区| 黄色91在线观看| 波多野结衣网站| 视频一区二区三区免费观看| 久久久免费av| 在线视频日本亚洲性| 一区二区三区视频免费看| av色男福利网| 在线视频超级| 欧美视频在线观看 亚洲欧| 国产一区不卡精品| 日韩欧美在线一区| 色播五月综合网| 中文字幕一区二区视频| 91香蕉国产线在线观看| 国产精品亲子伦av一区二区三区| 在线观看的黄色| 欧美性猛交xxxx乱大交极品| 91传媒视频在线播放| 一级毛片在线观| 中文字幕一区二区三区四区不卡| 国产一区二区自拍视频| 国产精品国产自产拍高清av水多| 国产高清在线看| 成人国产一区二区三区| 亚洲国产色一区| 人妻无码一区二区三区免费| 国产1区2区3区在线| 国产乱子精品一区二区在线观看| 色菇凉天天综合网| 精品少妇theporn| 久久久久久不卡| 天堂男人av| sm性调教片在线观看| 一本色道久久88综合日韩精品| 中文字幕成人| 中文字幕日韩精品久久| 欧美丰满少妇xxxxx| 久久久久久久久国产一区| eeuss影院www在线观看免费| 亚洲欧洲视频在线观看| 中文字幕日韩电影| 久久久午夜精品理论片中文字幕| 丁香婷婷在线观看| 一本一道无码中文字幕精品热| 成人禁在线观看网站| 91香蕉视频污在线| 免费男同深夜夜行网站| 亚洲综合成人在线| 992在线观看| 亚洲精品视频久久久| 亚洲影院色在线观看免费| 99久精品视频在线观看视频| 福利写真视频网站在线| www.欧美日本| 国产精品久久久久久久午夜| 欧美激情aⅴ一区二区三区| 99精品中文字幕| 欧美日韩精品一区二区三区| 一级特黄曰皮片视频| 色网站免费在线观看| 狠狠干夜夜草| 美国av在线播放| 国产欧美日韩专区发布| 香蕉久久免费影视| 欧美啪啪免费视频| 欧美美女在线观看| 久久精品aⅴ无码中文字字幕重口| 亚洲国产另类久久精品| 精品国产一区二区三区麻豆免费观看完整版| 交视频在线观看国产| 撸视在线观看免费视频| 中文字幕不卡在线播放| 欧美私人啪啪vps| 欧美亚洲人成在线| 国产成人涩涩涩视频在线观看| 免费一级欧美片在线观看网站| 88久久精品| 四虎4hu永久免费入口| 熟女俱乐部一区二区视频在线| 亚洲国产精品久久久久秋霞影院| 亚洲美女久久精品| 无码人妻精品中文字幕| 免费在线观看国产精品| 欧美日韩偷拍视频| 国产蜜臀一区二区打屁股调教| 97精品资源在线观看| 亚洲夜晚福利在线观看| 裸体丰满少妇做受久久99精品| 国产精品久久久久久久天堂第1集| 国内精品久久久久久久果冻传媒| 91av视频在线免费观看| 在线这里只有精品| 在线观看福利片| 欧美性大战久久久久久久蜜臀| 中文字幕乱码在线播放| 麻豆app在线观看| 91成人福利在线观看| 国产三级电影在线播放| 黄色日韩在线| 伊人av在线com| 精品一区二区三区欧美| 日本aa在线| 91影院在线免费观看| 深夜视频在线免费| 久热这里有精品| 黑人性受xxxx黑人xyx性爽| 97操碰视频| 激情欧美一区二区三区中文字幕| 亚洲天堂中文字幕| 久久国产视频播放| 国产一区调教| 精品国产乱码久久久久久鸭王1| 欧洲日韩一区二区三区| 你懂的在线视频观看| 欧美日韩一卡| 成人高清免费在线播放| 久草成色在线| 国产毛片aaa| 新天天拍日日拍狠狠拍| 免费在线观看av网址| 精品二区在线观看| 91九色单男在线观看| 97精品久久人人爽人人爽| 成人网免费看| 九九九热精品免费视频观看网站| 最近2019中文免费高清视频观看www99| 亚洲最大成人在线观看| 女同性互吃奶乳免费视频| 精品国产第一页| 波多野结衣理论片| 国产欧美一区二区白浆黑人| 欧美色欧美亚洲另类七区| 亚洲精品乱码久久久久久自慰| 国产精品无码一区二区三| 国产成人羞羞电影网站在线观看| 日韩三级视频在线观看| 美女把腿扒开让男人桶免费| 尹人成人综合网| 亚洲一区不卡在线| 日韩中文在线电影| 久久综合亚洲| 亚洲成a人v欧美综合天堂麻豆| 欧美午夜精品久久久久久人妖| 国产精品大尺度| 导航福利在线| 1插菊花综合| 波多野结衣欲乱| 久久国产夜色精品鲁鲁99| 中文字幕日本不卡| 老女人性生活视频| 中文字幕第四页| 亚洲一区二区三区日本久久九| 一区二区三区精品视频| 欧美图片一区二区| 影音av资源站| 国产免费拔擦拔擦8x高清在线人| 妺妺窝人体色www看人体| 欧美 日韩 国产在线观看| 天天曰天天操| 男人插女人视频在线观看| 日韩av电影免费观看高清完整版| av在线电影网站| 99热99这里只有精品| 成年人免费观看视频网站| 在线精品一区二区三区| 国产精品日本一区二区三区在线| 精品福利网址导航| 91麻豆精品国产自产在线观看一区| 亚洲国产aⅴ精品一区二区三区| 岳乳丰满一区二区三区| 国产污视频网站| 韩国女同性做爰三级| 99国产精品久久一区二区三区| av成人动漫在线观看| 青青草在线视频免费观看| 成人三级毛片| 久久久久久久久久久久电影| 欧美做受喷浆在线观看| 国产日韩欧美亚洲一区| 亚洲欧美日韩国产成人精品影院| 99这里有精品| 欧美黑人又粗大| 致1999电视剧免费观看策驰影院| 自拍视频在线观看一区二区| 国产视频精品久久久| 一区二区在线影院| 亚洲免费国产视频| 久久黄色级2电影| 亚洲综合在线视频| 国产精品三区www17con| 中文字幕欧美专区| 日韩午夜在线观看| 久久av红桃一区二区禁漫| 成人涩涩免费视频| v片在线观看| 日韩精品乱码av一区二区| 国产综合久久久久| 亚洲精品国自产拍在线观看| 人人爽人人av| 中文字幕亚洲在线观看| 中文精品一区二区| 精品一区二区免费| 亚洲亚洲一区二区三区| 亚洲一区二区久久久久久久| 一区二区在线观看免费视频| 柠檬在线导航福利| 在线观看亚洲国产| 国产伦精品一区二区三区视频女| 色综合久久综合| 夜夜骚av一区二区三区| 成人免费高清在线观看| 久久免费视频6| 香蕉成人伊视频在线观看| 一区精品在线| 国产在线xxxx| 国产三级一区二区三区| 日本黄大片在线观看| 夜夜未满十八勿进的爽爽影视| 加勒比久久综合| 亚洲精品国产精品久久清纯直播| 欧美色图另类小说| 欧美另类交视频| 国产亚洲va综合人人澡精品| 男女18免费网站视频|