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

首頁 > 學院 > 開發設計 > 正文

怎樣在自己的進銷存里導入速達、管家婆和用友的數據

2019-11-18 18:30:11
字體:
來源:轉載
供稿:網友
 

unit UpdateSD3000;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, EditForm, KsControls, KsLabels, KsSkinLabels, dxEditor,
  dxExEdtr, dxEdLib, dxCntner, KsButtons, KsSkinButtons, KsTabs,
  KsSkinTabs, KsHooks, KsForms, KsSkinForms, KsEdits, KsComboBoxs,
  KsSkinComboBoxs, DB, IBDatabase, Registry, SysPublic, IBCustomDataSet,
  Grids, DBGrids, ADODB;

type
  TfrmUpdateSD3000 = class(TfrmEditForm)
    PageControl: TSeSkinPageControl;
    TabSD3000: TKsCustomTabSheet;
    KsCustomTabSheet2: TKsCustomTabSheet;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    OpenDlg: TOpenDialog;
    edtSDData: TdxButtonEdit;
    SeSkinLabel1: TSeSkinLabel;
    SeSkinLabel2: TSeSkinLabel;
    SeSkinLabel3: TSeSkinLabel;
    SeSkinLabel4: TSeSkinLabel;
    SeSkinLabel5: TSeSkinLabel;
    edtServeName: TdxEdit;
    SeSkinLabel6: TSeSkinLabel;
    SeSkinLabel7: TSeSkinLabel;
    edtLoginName: TdxEdit;
    SeSkinLabel8: TSeSkinLabel;
    edtLoginPass: TdxEdit;
    bbLinkServer: TSeSkinButton;
    SeSkinLabel9: TSeSkinLabel;
    SeSkinLabel10: TSeSkinLabel;
    SeSkinLabel11: TSeSkinLabel;
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBDataSet1: TIBDataSet;
    AdoDataSet: TADODataSet;
    KsCustomTabSheet3: TKsCustomTabSheet;
    SeSkinLabel15: TSeSkinLabel;
    edtYYData: TdxButtonEdit;
    SeSkinLabel12: TSeSkinLabel;
    SeSkinLabel13: TSeSkinLabel;
    SeSkinLabel14: TSeSkinLabel;
    SeSkinLabel16: TSeSkinLabel;
    SQLADOConnet: TADOConnection;
    SQLDataSet: TADODataSet;
    cbxSQLDB: TdxPickEdit;
    PRocedure edtSDDataButtonClick(Sender: TObject; AbsoluteIndex: Integer);
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure edtYYDataButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure bbLinkServerClick(Sender: TObject);
  private
    { Private declarations }
    bReturn: Boolean;
    function GetSD3000Path: string; //得到速達的安裝目錄
    function GetUFERPPath: string; //得到用友的安裝目錄
    function ConectGrasp(sData: string): Boolean;
    function ConectSD3000(sDBPath: string): Boolean;
    function OpenIBDataSet(sDBName: string): Boolean;
    procedure InputGrasp(sSql1, sSql2, sField1, sField2, sConst: string);
    procedure InputSD3000(sSql1, sSql2, sField1, sField2, sConst: string);
    procedure InputAllSD3000Data; //全部速達數據
    procedure InputAllGraspData; //全部管家婆數據
    procedure InputAllUfsoft80Data; //全部用友數據
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function UpdateSD3000Show: Boolean;
implementation

uses DBData;
{$R *.dfm}

function UpdateSD3000Show: Boolean;
var
  frmUpdateSD3000: TfrmUpdateSD3000;
begin
  frmUpdateSD3000 := TfrmUpdateSD3000.Create(application);
  with frmUpdateSD3000 do
  begin
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmUpdateSD3000.MainShow;
begin
  LoadData;
  ShowModal;
end;

function TfrmUpdateSD3000.GetSD3000Path: string;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('/Software/SuperData/SD3000/net', False) then
      Result := Reg.ReadString('RemoteDBDir')
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;

function TfrmUpdateSD3000.GetUFERPPath: string;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('/Software/SuperData/SD3000/net', False) then
      Result := Reg.ReadString('RemoteDBDir')
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;

procedure TfrmUpdateSD3000.LoadData;
begin
  PageControl.TabIndex := 0;
  edtSDData.Text := GetSD3000Path;
  edtYYData.text := GetUFERPPath;
end;

procedure TfrmUpdateSD3000.edtSDDataButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sFileName: string;
begin
  inherited;
  OpenDlg.FileName := edtSDData.Text;
  if OpenDlg.Execute then
  begin
    sFileName := OpenDlg.FileName;
    edtSDData.Text := sFileName;
  end;
end;

function TfrmUpdateSD3000.ConectSD3000(sDBPath: string): Boolean;
begin
  Result := False;
  if Trim(sDBPath) = '' then
  begin
    ShowMsg('請輸入數據庫路徑!');
    Exit;
  end;
  if not FileExists(sDBPath) then
  begin
    ShowMsg('數據庫路徑不正確,系統找不到指定的文件!');
    Exit;
  end;
  IBDatabase1.DefaultTransaction := IBTransaction1;
  IBDatabase1.DatabaseName := sDBPath;
  try
    IBDatabase1.Open;
  except
  end;
  if IBDatabase1.Connected then
    Result := True
  else
    ShowMsg('連接數據庫出錯,請輸入正確的速達數據庫文件!');
end;

function TfrmUpdateSD3000.OpenIBDataSet(sDBName: string): Boolean;
begin
  Result := True;
  if IBDataSet1.Active then
    IBDataSet1.Close;
  IBDataSet1.SelectSQL.Text := sDBName;
  try
    IBDataSet1.Open;
  except
    result := false;
  end;
end;

procedure TfrmUpdateSD3000.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmUpdateSD3000.bbOkClick(Sender: TObject);
begin
  inherited;
  if PageControl.TabIndex = 0 then
    InputAllSD3000Data
  else if PageControl.TabIndex = 1 then
    InputAllUfSoft80Data
  else if PageControl.TabIndex = 2 then
    InputAllGraspData;
end;

procedure TfrmUpdateSD3000.InputAllUfSoft80Data;
begin
  ShowMsg('請選擇正確的用友財務UFERP-M8系列的數據庫文件!');
end;

procedure TfrmUpdateSD3000.InputAllSD3000Data;
var
  sSql1, sSql2, sField1, sField2, sConst: string;
begin
  if not ConectSD3000(edtSDData.Text) then
    Exit;
  Screen.Cursor := crHourglass;
  sSql1 := '';
  sSql2 := '';
  sField1 := '';
  sField2 := '';
  sConst := '';
  //部門
  sSql1 := 'SELECT * FROM DEPARTMENT';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_DEPT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //職員類別
  sSql1 := 'SELECT * FROM EMPTYPE';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_EMPLOYE_SORT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //職員
  sSql1 := 'SELECT e.*,s.Name as SexName,d.Name as DEPARTMENTName,t.Name as EmpTypeName '
    +
    'FROM EMPLOY e,EMPTYPE t,SEX s,DEPARTMENT d ' +
    'WHERE e.EMPTYPEID=t.EmpTYPEID and e.Sex=s.ID and e.DEPARTMENT=d.ID';
  sSql2 := 'SELECT * FROM Employe';
  sField2 := 'Usercode,Name,Business,PostalCode,Place,DutyDate,Wage,ID_Card,Address,'
    +
    'Sex,ComeDate,EMail,Learning,PhoneCall,Phone,PhoneMove,Dept,Sort';
  sField1 := 'EMPCODE,NAME,DUTY,POSTCODE,FOREFATHER,POSTDATE,PAY,IDCARD,ADDRESS,'
    +
    'SEXNAME,BIRTHDAY,EMAIL,CULTURE,BP,TELEPHONE,HOMEPHONE,DEPARTMENTNAME,EMPTYPENAME';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品單位
  sSql1 := 'SELECT * FROM UNIT';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_WARE_UNIT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //倉庫
  sSql1 := 'SELECT * FROM STORE';
  sSql2 := 'SELECT * FROM Depot';
  sField2 := 'UserCode,Name,Address,Memo';
  sField1 := 'STOREID,NAME,LOCATION,Memo';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品分類
  sSql1 := 'SELECT * FROM GOODSTYPE';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'mode,name1,name2';
  sField1 := '!CONST,Name,descr  sConst := intToStr(BASE_WARE_SORT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品
  sSql1 :=
    'SELECT g.*,t.name as GTypeName FROM GOODS g,GOODSTYPE t WHERE g.goodstypeid=t.goodstypeid';
  sSql2 := 'SELECT * FROM Ware';
  sField2 := 'UserCode, Name, ShortName,Sort,Unit,Price1,ConstPrice';
  sField1 := 'goodsid,name,name,GTypeName,Unit,sprice,Pprice';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //地區
  sSql1 := 'SELECT * FROM AREA';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_AREA);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //客戶
  sSql1 :=
    'SELECT C.*,A.Name as AreaName FROM CLIENT c LEFT JOIN AREA A on A.AREAID=c.AREAID';
  sSql2 := 'SELECT * FROM Unit';
  sField2 := 'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneMove,PhoneFax,PostalCode,'
    +
    'Address,Memo,Banking,Accounts,WWW,EMail,Receive';
  sField1 := '!CONST,ClientID,ShortName,Name,AreaName,CONTATOR,Phone,MOBILEPHONE,Fax,zip,'
    +
    'Address,memo,bank,bankID,URL,EMail,BALANCE';
  sConst := IntToStr(BASE_CLIENT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //供應商
  sSql1 :=
    'SELECT C.*,A.Name as AreaName FROM VENDOR c LEFT JOIN AREA A on A.AREAID=c.AREAID';
  sSql2 := 'SELECT * FROM Unit';
  sField2 := 'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneMove,PhoneFax,PostalCode,'
    +
    'Address,Memo,Banking,Accounts,WWW,EMail,Payable';
  sField1 := '!CONST,VENDORID,ShortName,Name,AreaName,CONTATOR,Phone,MOBILEPHONE,Fax,zip,'
    +
    'Address,memo,bank,bankID,URL,EMail,BALANCE';
  sConst := IntToStr(BASE_PROVIDE);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);

  ShowMsg('導入數據成功!');
  Screen.Cursor := crDefault;
end;

procedure TfrmUpdateSD3000.InputAllGraspData;
var
  sSqlData: string;
  sSql1, sSql2, sField1, sField2, sConst: string;
begin
  sSql1 := '';
  sSql2 := '';
  sField1 := '';
  sField2 := '';
  sConst := '';
  if cbxSQLDB.ItemIndex < 0 then
    Exit;
  sSqlData := cbxSQLDB.Items.Strings[cbxSQLDB.ItemIndex];
  if sSQLData = '' then
  begin
    ShowMsg('請先連接SQLServer數據庫!');
    Exit;
  end;
  if not ConectGrasp(sSqlData) then
  begin
    ShowMsg('連接SQLServer數據庫出錯,請重新輸入服務器名、用戶名、密碼!');
    Exit;
  end;
  Screen.Cursor := crHourglass;
  //倉庫
  sSql1 := 'SELECT * FROM STOCK WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Depot';
  sField1 := 'USERCODE,FULLNAME,COMMENT';
  sField2 := 'UserCode,Name,Memo';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //商品
  sSql1 := 'SELECT * FROM ptype WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Ware';
  sField1 := 'UserCode, FullName, Name,Unit1,preprice2,preprice1';
  sField2 := 'UserCode, Name, ShortName,Unit,Price1,ConstPrice';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //部門
  sSql1 := 'SELECT * FROM Department WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField1 := '!CONST,FullName';
  sField2 := 'Mode,Name1';
  sConst := intToStr(BASE_DEPT);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //職員
  sSql1 := 'SELECT D.FullName AS DepName, E.* FROM employee E LEFT OUTER JOIN '
    +
    'Department D ON E.Department = D.typeid WHERE E.TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Employe';
  sField1 := 'UserCode,FullName,ADDRESS,TEL,DepName,Comment';
  sField2 := 'Usercode,Name,Address,Phone,Dept,Memo';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //地區
  sSql1 := 'SELECT * FROM AreaType WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField1 := '!CONST,FullName';
  sField2 := 'Mode,Name1';
  sConst := intToStr(BASE_AREA);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //客戶
  sSql1 := 'SELECT A.FullName AS AreaName, B.* FROM btype B LEFT OUTER JOIN AreaType A'
    +
    ' ON B.AreaTypeID = A.TypeID WHERE B.TypeID<>''00000''';
  sSql2 := 'SELECT * FROM Unit';
  sField1 :=
    '!CONST,UserCode,Name,FullName,AreaName,PERSON,TELANDADDRESS,FAX,POSTCODE,AREA,Comment,BANKANDACOUNT,BANKANDACOUNT,ARTotal';
  sField2 :=
    'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneFax,PostalCode,Address,Memo,Banking,Accounts,Receive';
  sConst := intToStr(BASE_CLIENT);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //供應商
  sSql1 := 'SELECT A.FullName AS AreaName, B.* FROM btype B LEFT OUTER JOIN AreaType A'
    +
    ' ON B.AreaTypeID = A.TypeID WHERE B.TypeID<>''00000''';
  sSql2 := 'SELECT * FROM Unit';
  sField1 :=
    '!CONST,UserCode,Name,FullName,AreaName,PERSON,TELANDADDRESS,FAX,POSTCODE,AREA,Comment,BANKANDACOUNT,BANKANDACOUNT,APTotal';
  sField2 :=
    'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneFax,PostalCode,Address,Memo,Banking,Accounts,Payable';
  sConst := intToStr(BASE_PROVIDE);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  ShowMsg('導入數據成功!');
  Screen.Cursor := crDefault;
end;

procedure TfrmUpdateSD3000.InputGrasp(sSql1, sSql2, sField1, sField2, sConst:
  string);
begin
  if OpenDataSetEx(SQLADOConnet, SQLDataSet, sSql1) and OpenDataSet(AdoDataSet, sSql2) then
    DataSetInput(SQLDataSet, AdoDataSet, sField1, sField2, sConst);
end;

procedure TfrmUpdateSD3000.InputSD3000(sSql1, sSql2, sField1, sField2, sConst:
  string);
begin
  if OpenIBDataSet(sSql1) and OpenDataSet(AdoDataSet, sSql2) then
    DataSetInput(IBDataSet1, AdoDataSet, sField1, sField2, sConst);
end;

procedure TfrmUpdateSD3000.edtYYDataButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sFileName: string;
begin
  inherited;
  OpenDlg.FileName := edtYYData.Text;
  if OpenDlg.Execute then
  begin
    sFileName := OpenDlg.FileName;
    edtYYData.Text := sFileName;
  end;
end;

function TfrmUpdateSD3000.ConectGrasp(sData: string): Boolean;
var
  sServer, sName, sPass: string;
begin
  sServer := edtServeName.Text;
  sName := edtLoginName.Text;
  sPass := edtLoginPass.Text;
  if Trim(sServer) = '' then
    sServer := 'LocalHost';
  if Trim(sName) = '' then
    sName := 'sa';
  with SQLADOConnet do
  begin
    if Connected = True then
      Close;
    ConnectionString := GetSQLConnectionString(sServer, sData, sName, sPass);
    LoginPrompt := False;
    Open(sName, sPass);
    Result := Connected;
  end;
end;

procedure TfrmUpdateSD3000.bbLinkServerClick(Sender: TObject);
var
  sSql, sName, sTmp: string;
begin
  inherited;
  sSql := 'SELECT * FROM sysdatabases WHERE (dbid > 5)';
  sName := 'Name';
  sTmp := '';
  if ConectGrasp('Master') then
  begin
    if OpenDataSetEx(SQLADOConnet, SQLDataSet, sSql) then
    begin
      TableToStrings2(SQLDataSet, sName, sTmp, sTmp, #13);
      cbxSQLDB.Items.Text := sName;
      if cbxSQLDB.Items.Count > 0 then
        cbxSQLDB.ItemIndex := 0;
    end;
  end
  else
    ShowMsg('連接SQLServer數據庫出錯,請重新輸入服務器名、用戶名、密碼!');
end;

end.


上一篇:使用SQLSERVER的擴展存儲過程實現遠程備份與恢復

下一篇:數據錄入時自動復制原記錄

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久999| 欧美激情精品久久久| 精品视频在线导航| 69av在线播放| 亚洲第一区第一页| 一本色道久久88亚洲综合88| 在线播放日韩欧美| 热门国产精品亚洲第一区在线| 欧美激情在线观看| 尤物yw午夜国产精品视频明星| 精品国产一区二区三区久久久狼| 成人黄色影片在线| 在线观看不卡av| 国外成人免费在线播放| 亚洲精品福利在线| 成人字幕网zmw| 在线视频欧美性高潮| 日本在线精品视频| 日韩三级成人av网| 久热在线中文字幕色999舞| 日韩成人黄色av| 午夜精品久久久久久久久久久久久| 美日韩精品免费视频| 欧美—级高清免费播放| 国模视频一区二区三区| 亚洲人成网站999久久久综合| 自拍偷拍免费精品| 国产精品专区第二| 久久99国产综合精品女同| 欧美国产日韩一区| 亚洲最新av在线| 色青青草原桃花久久综合| 国产香蕉一区二区三区在线视频| 国产欧美精品一区二区| 综合136福利视频在线| 欧美色视频日本高清在线观看| 6080yy精品一区二区三区| 亚洲欧美日韩视频一区| 最好看的2019的中文字幕视频| 在线播放日韩专区| 精品视频久久久久久| 欧美性猛交xxxx黑人| 国产99在线|中文| 2018中文字幕一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲欧美日韩中文在线制服| 久久久久久免费精品| 亚洲天堂男人的天堂| 久久伊人色综合| 懂色av中文一区二区三区天美| 欧美性猛交99久久久久99按摩| 欧美美最猛性xxxxxx| 九九热这里只有精品免费看| 欧美wwwwww| 欧美精品一本久久男人的天堂| 日韩在线一区二区三区免费视频| www亚洲精品| 国产在线播放91| 久久亚洲精品一区二区| 国产亚洲精品激情久久| 97国产一区二区精品久久呦| 成人伊人精品色xxxx视频| 亚洲欧美精品suv| 国产成人精品在线视频| 欧美成人午夜视频| 亚洲电影免费观看高清| 亚洲美女中文字幕| 久久久久在线观看| 2019中文字幕全在线观看| 成人国产精品久久久| 欧美激情图片区| 国产免费一区视频观看免费| 成人在线国产精品| 日韩电影免费在线观看中文字幕| 国产精品日韩专区| 欧美裸体视频网站| 88国产精品欧美一区二区三区| 青青青国产精品一区二区| 北条麻妃在线一区二区| 中文字幕日韩综合av| 在线日韩av观看| 亚洲国产天堂网精品网站| 久久视频精品在线| 国产在线视频91| 精品调教chinesegay| 日本乱人伦a精品| 国产精品偷伦一区二区| 不卡中文字幕av| 欧美精品video| 一级做a爰片久久毛片美女图片| 中文字幕久精品免费视频| 精品视频偷偷看在线观看| 亚洲性视频网站| 国产亚洲欧洲高清一区| 69精品小视频| 欧美色道久久88综合亚洲精品| 久久成人一区二区| 精品中文字幕在线观看| 国产精品主播视频| 国产精品一区二区三区毛片淫片| 九色成人免费视频| 国产v综合v亚洲欧美久久| 久久99精品久久久久久琪琪| 欧美性xxxxxxxxx| 国产成人免费91av在线| 亚洲欧洲在线视频| 成人精品aaaa网站| 社区色欧美激情 | 国产综合福利在线| 中文字幕av一区二区三区谷原希美| 伊人一区二区三区久久精品| 亚洲自拍小视频免费观看| 国内精品一区二区三区| 欧美成人午夜免费视在线看片| 毛片精品免费在线观看| 欧美激情欧美狂野欧美精品| 亚洲www视频| 日韩成人免费视频| 国产经典一区二区| 国产一区二区三区中文| 日本高清+成人网在线观看| 久久精品视频导航| 国产欧美一区二区白浆黑人| 欧美香蕉大胸在线视频观看| 怡红院精品视频| 九九久久国产精品| 亚洲成av人片在线观看香蕉| 91久久久久久久久久久久久| 亚洲精品在线观看www| 热门国产精品亚洲第一区在线| 中文一区二区视频| 久久人人爽人人爽人人片av高请| 国产日韩欧美综合| 欧美日韩精品在线观看| 91国内揄拍国内精品对白| 亚洲性69xxxbbb| 国产一区二区三区直播精品电影| 成人激情视频网| 国产精品视频网址| 亚洲第一综合天堂另类专| www日韩中文字幕在线看| 亚洲欧美精品中文字幕在线| 国产精品久久久久久久一区探花| 久久天天躁狠狠躁夜夜av| 亚洲国产成人精品女人久久久| 亚洲日韩欧美视频一区| 成人激情视频在线播放| 色偷偷亚洲男人天堂| 国产一区二区日韩| 2019中文字幕在线免费观看| 色777狠狠综合秋免鲁丝| 日韩一区二区久久久| 97视频国产在线| 中文字幕亚洲情99在线| 日韩在线观看你懂的| 中文字幕不卡在线视频极品| 黑人巨大精品欧美一区免费视频| 久久久久久久久久国产精品| 久99九色视频在线观看| 日韩欧美成人网| 日韩精品丝袜在线| 57pao国产成人免费| 亚洲综合中文字幕在线观看| 国产成人精品视频在线观看|