亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? esqlc方面的資料.txt

?? db2 指定某個(gè)字符串中的第幾個(gè)字符的更新
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
 
 >> ChinaUnix.net > SCO  
 


有人有ESQL/C方面的資料嗎? 

 
作者:sunw     發(fā)表時(shí)間:2002/10/28 05:04pm
 
能發(fā)一份給我嗎?
sunw80@163.com  
 

--------------------------------------------------------------------------------
此文章相關(guān)評論: 
 
該文章有13個(gè)相關(guān)評論如下:(點(diǎn)這兒可以發(fā)表評論)
 
threehair 發(fā)表于: 2002/10/28 05:21pm
 
第六章 嵌入式SQL(E-SQL)簡介3
第一節(jié) 什么是嵌入SQL語言?3
1.1 嵌入SQL程序的組成元素3
1.2 什么是靜態(tài)SQL和動(dòng)態(tài)SQL?4
1.3 什么是SQLCA?4
1.4 什么是SQLDA?5
第二節(jié)  SYBASE SQL SERVER嵌入式SQL語言5
2.1 一個(gè)嵌入SQL語言的簡單例子5
2.2 嵌入SQL的處理過程6
2.3 嵌入SQL語句總覽7
2.3.1 宿主變量7
2.3.2 連接數(shù)據(jù)庫12
2.3.3 數(shù)據(jù)的查詢和修改13
2.3.4 游標(biāo)的使用13
2.3.5 SQLCA15
2.3.6 WHENEVER16
2.3.7 批處理18
2.3.8 事務(wù)18
2.4動(dòng)態(tài)SQL語句18
2.4 .1 動(dòng)態(tài)修改19
2.4.2 動(dòng)態(tài)游標(biāo)20
2.4.3 SQLDA23
2.4.4 DESCRIBE語句27
2.5 兩個(gè)例子程序27
2.5.1 TELECOM程序27
2.5.2 ADHOC程序29
第三節(jié) IBM DB2嵌入SQL語言35
3.1 一個(gè)簡單示例35
3.2 嵌入SQL語句37
3.2.1宿主變量37
3.2.2單行查詢39
3.2.3多行查詢39
3.2.4插入、刪除和修改操作40
3.2.5 SQLCA43
3.2.6事務(wù)45
3.3 DB2的嵌入SQL程序處理過程46
3.4 DB2的動(dòng)態(tài)SQL嵌入語句53
3.4.1 基本方法53
3.4.2 動(dòng)態(tài)游標(biāo)55
3.4.3 SQLDA55
第四節(jié) ORACLE數(shù)據(jù)庫的嵌入SQL語言66
4.1 基本的SQL語句66
4.1.1宿主變量和指示符66
4.1.2 查詢68
4.1.3 修改數(shù)據(jù)68
4.1.4 游標(biāo)68
4.2 嵌入PL/SQL71
4.3 動(dòng)態(tài)SQL語句72
4.3.1 ORACLE動(dòng)態(tài)SQL語句的一些特點(diǎn)72
4.3.2 使用動(dòng)態(tài)SQL的四種方法72
4.3.3 SQLDA75
第五節(jié)INFORMIX的嵌入SQL/C語言89
5.1 一個(gè)簡單的入門例子89
5.2 宿主變量91
5.3 嵌入SQL的處理過程96
5.4 動(dòng)態(tài)SQL語言96
5.4.1 SQLDA97
第六節(jié)MICROSOFT SQL SERVER7嵌入式SQL語言105
6.1 一個(gè)嵌入SQL語言的簡單例子105
6.2 嵌入SQL的處理過程106
6.3 嵌入SQL語句112
6.3.1 聲明嵌入SQL語句中使用的C變量112
6.3.2 連接數(shù)據(jù)庫115
6.3.3 數(shù)據(jù)的查詢和修改115
6.3.4 游標(biāo)的使用116
6.3.5 SQLCA117
6.3.6 WHENEVER118
6.4動(dòng)態(tài)SQL語句119
6.4 .1 動(dòng)態(tài)修改119
6.4.2 動(dòng)態(tài)游標(biāo)120
6.4.3 SQLDA122
6.4.4 DESCRIBE語句130
6.5 API130 







第六章 嵌入式SQL(E-SQL)簡介
第一節(jié) 什么是嵌入SQL語言?
SQL是一種雙重式語言,它既是一種用于查詢和更新的交互式數(shù)據(jù)庫語言,又是一種應(yīng)用程序進(jìn)行數(shù)據(jù)庫訪問時(shí)所采取的編程式數(shù)據(jù)庫語言。SQL語言在這兩種方式中的大部分語法是相同的。在編寫訪問數(shù)據(jù)庫的程序時(shí),必須從普通的編程語言開始(如C語言),再把SQL加入到程序中。所以,嵌入式SQL語言就是將SQL語句直接嵌入到程序的源代碼中,與其他程序設(shè)計(jì)語言語句混合。專用的SQL預(yù)編譯程序?qū)⑶度氲腟QL語句轉(zhuǎn)換為能被程序設(shè)計(jì)語言(如C語言)的編譯器識別的函數(shù)調(diào)用。然后,C編譯器編譯源代碼為可執(zhí)行程序。
各個(gè)數(shù)據(jù)庫廠商都采用嵌入SQL語言,并且都符合ANSI/ISO的標(biāo)準(zhǔn)。所以,如果采用合適的嵌入SQL語言,那么可以使得你的程序能夠在各個(gè)數(shù)據(jù)庫平臺(tái)上執(zhí)行(即:源程序不用做修改,只需要用相應(yīng)數(shù)據(jù)庫產(chǎn)品的預(yù)編譯器編譯即可)。當(dāng)然,每個(gè)數(shù)據(jù)庫廠商又?jǐn)U展了ANSI/ISO的標(biāo)準(zhǔn),提供了一些附加的功能。這樣,也使得每個(gè)數(shù)據(jù)庫產(chǎn)品在嵌入SQL方面有一些區(qū)別。本章的目標(biāo)是,對所有的數(shù)據(jù)庫產(chǎn)品的嵌入SQL做一個(gè)簡單、實(shí)用的介紹。
   當(dāng)然,嵌入SQL語句完成的功能也可以通過應(yīng)用程序接口(API)實(shí)現(xiàn)。通過API的調(diào)用,可以將SQL語句傳遞到DBMS,并用API調(diào)用返回查詢結(jié)果。這個(gè)方法不需要專用的預(yù)編譯程序。
1.1 嵌入SQL程序的組成元素
  我們以IBM的DB2嵌入SQL為例,來看看嵌入SQL語句的組成元素。
例1、連接到SAMPLE數(shù)據(jù)庫,查詢LASTNAME為JOHNSON的FIRSTNAME信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "util.h"
#include <sqlca.h>
EXEC SQL INCLUDE SQLCA;  (1)
main()
{
  EXEC SQL BEGIN DECLARE SECTION; (2)
     char firstname[13];
     char userid[9];
     char passwd[19];
  EXEC SQL END DECLARE SECTION;
  EXEC SQL CONNECT TO sample; (3)
  EXEC SQL SELECT FIRSTNME INTO :firstname (4) 
            FROM employee
           WHERE LASTNAME = 'JOHNSON';(4)
  printf( "First name = %s\n", firstname );
  EXEC SQL CONNECT RESET;  (5)
  return 0;
}
 上面是一個(gè)簡單的靜態(tài)嵌入SQL語句的應(yīng)用程序。它包括了嵌入SQL的主要部分:
(1)中的include SQLCA語句定義并描述了SQLCA的結(jié)構(gòu)。SQLCA用于應(yīng)用程序和數(shù)據(jù)庫之間的通訊,其中的SQLCODE返回SQL語句執(zhí)行后的結(jié)果狀態(tài)。
(2)在BEGIN DECLARE SECTION和END DECLARE SECTION之間定義了宿主變量。宿主變量可被SQL語句引用,也可以被C語言語句引用。它用于將程序中的數(shù)據(jù)通過SQL語句傳給數(shù)據(jù)庫管理器,或從數(shù)據(jù)庫管理器接收查詢的結(jié)果。在SQL語句中,主變量前均有“:”標(biāo)志以示區(qū)別。
(3)在每次訪問數(shù)據(jù)庫之前必須做CONNECT操作,以連接到某一個(gè)數(shù)據(jù)庫上。這時(shí),應(yīng)該保證數(shù)據(jù)庫實(shí)例已經(jīng)啟動(dòng)。
(4)是一條選擇語句。它將表employee中的LASTNAME為“JOHNSON”的行數(shù)據(jù)的FIRSTNAME查出,并將它放在firstname變量中。該語句返回一個(gè)結(jié)果。可以通過游標(biāo)返回多個(gè)結(jié)果。當(dāng)然,也可以包含update、insert和delete語句。
(5)最后斷開數(shù)據(jù)庫的連接。
從上例看出,每條嵌入式SQL語句都用EXEC SQL開始,表明它是一條SQL語句。這也是告訴預(yù)編譯器在EXEC SQL和“;”之間是嵌入SQL語句。如果一條嵌入式SQL語句占用多行,在C程序中可以用續(xù)行符“\”。
1.2 什么是靜態(tài)SQL和動(dòng)態(tài)SQL?
嵌入SQL語言,分為靜態(tài)SQL語言和動(dòng)態(tài)語言兩類。靜態(tài)SQL語言,就是在編譯時(shí)已經(jīng)確定了引用的表和列。宿主變量不改變表和列信息。可以使用主變量改變查詢參數(shù)值,但是不能用主變量代替表名或列名。
動(dòng)態(tài)SQL語言就是:不在編譯時(shí)確定SQL的表和列,而是讓程序在運(yùn)行時(shí)提供,并將SQL語句文本傳給DBMS執(zhí)行。靜態(tài)SQL語句在編譯時(shí)已經(jīng)生成執(zhí)行計(jì)劃。而動(dòng)態(tài)SQL語句,只有在執(zhí)行時(shí)才產(chǎn)生執(zhí)行計(jì)劃。動(dòng)態(tài)SQL語句首先執(zhí)行PREPARE語句要求DBMS分析、確認(rèn)和優(yōu)化語句,并為其生成執(zhí)行計(jì)劃。DBMS還設(shè)置SQLCODE以表明語句中發(fā)現(xiàn)的錯(cuò)誤。當(dāng)程序執(zhí)行完“PREPARE”語句后,就可以用EXECUTE語句執(zhí)行執(zhí)行計(jì)劃,并設(shè)置SQLCODE,以表明完成狀態(tài)。
1.3 什么是SQLCA?
應(yīng)用程序執(zhí)行時(shí),每執(zhí)行一條SQL語句,就返回一個(gè)狀態(tài)符和一些附加信息。這些信息反映了SQL語句的執(zhí)行情況,它有助于用戶分析應(yīng)用程序的錯(cuò)誤所在。這些信息都存放在sqlca.h的sqlca結(jié)構(gòu)中。如果一個(gè)源文件中包含SQL語句,則必須要在源程序中定義一個(gè)SQLCA結(jié)構(gòu),而且名為SQLCA。最簡單的定義方法是在源文件中加入一些語句:EXEC SQL INCLUDE sqlca.h。每個(gè)數(shù)據(jù)庫產(chǎn)品都提供了SQLCA結(jié)構(gòu)。 

1.4 什么是SQLDA?
我們知道,動(dòng)態(tài)SQL語句在編譯時(shí)可能不知道有多少列信息。在嵌入SQL語句中,這些不確定的數(shù)據(jù)是通過SQLDA完成的。SQLDA的結(jié)構(gòu)非常靈活,在該結(jié)構(gòu)的固定部分,指明了多少列等信息,在該結(jié)構(gòu)的后面有一個(gè)可變長的結(jié)構(gòu),說明每列的信息。在從數(shù)據(jù)庫獲得數(shù)據(jù)時(shí),就可以采用SQLDA來獲得每行的數(shù)據(jù)。各個(gè)數(shù)據(jù)庫產(chǎn)品的SQLDA結(jié)構(gòu)都不完全相同。
第二節(jié)  SYBASE SQL Server嵌入式SQL語言
2.1 一個(gè)嵌入SQL語言的簡單例子
    我們首先來看一個(gè)簡單的嵌入式SQL語言的程序(C語言):用sa(口令為password)連接數(shù)據(jù)庫服務(wù)器,并將所有書的價(jià)格增加10%。這個(gè)例子程序如下:
例1、
/*建立通訊區(qū)域*/
Exec sql include sqlca;
main()
{
   /*聲明宿主變量*/
   EXEC SQL BEGIN DECLARE SECTION;
   char user[30],passwd[30];
EXEC SQL END DECLARE SECTION;
/*錯(cuò)誤處理*/
EXEC SQL WHENEVER SQLERROR CALL err_p();
/*連接到SQL SERVER服務(wù)器*/
printf("\nplease enter your userid ");
gets(user);
printf("\npassword ");
gets(passwd);
exec sql connect :user identified by :passwd; 
exec sql use pubs2;
EXEC SQL update titles set price=price*1.10;
EXEC SQL commit work;
/*斷開數(shù)據(jù)庫服務(wù)器的連接*/
Exec sql disconnect all;
   return (0);
}
/*錯(cuò)誤處理程序*/
err_p()
{
printf("\nError occurred: code %d.\n%s", \
sqlca.sqlcode, sqlca.sqlerrm.sqlerrmc);
}
  從上面這個(gè)例子,我們看出嵌入SQL的基本特點(diǎn)是:
1、每條嵌入式SQL語句都用EXEC SQL開始,表明它是一條SQL語句。這也是告訴預(yù)編譯器在EXEC SQL和“;”之間是嵌入SQL語句。
2、如果一條嵌入式SQL語句占用多行,在C程序中可以用續(xù)行符“\”,在Fortran中必須有續(xù)行符。其他語言也有相應(yīng)規(guī)定。
3、每一條嵌入SQL語句都有結(jié)束符號,如:在C中是“;”。
4、嵌入SQL語句的關(guān)鍵字不區(qū)分大小寫。
5、可以使用“/*….*/”來添加注釋。也可以使用“--”來添加注釋。
2.2 嵌入SQL的處理過程
嵌入SQL的處理過程如下圖所示: 







      圖6-1 SYBASE SQL SERVER嵌入SQL程序處理過程
嵌入SQL程序的后綴為.cp。嵌入SQL處理的第一步是預(yù)編譯。預(yù)編譯器(cpre.exe)處理過程分為兩個(gè)小步:
   第一小步:語法分析。檢查嵌入SQL語句的語法正確性。
第二小步:增加一些預(yù)編譯器變量,并注釋了所有的嵌入的SQL語句,將嵌入SQL語句轉(zhuǎn)換為對client-library中函數(shù)的調(diào)用(注意:在連接時(shí),編譯后的代碼需要使用client-library中的庫文件)。如果在編譯時(shí),設(shè)置一些選項(xiàng),則生成存儲(chǔ)過程。預(yù)編譯后可能產(chǎn)生3個(gè)文件:一個(gè)C文件(肯定產(chǎn)生),一個(gè)列表文件(需要在編譯時(shí)設(shè)置選項(xiàng),才能產(chǎn)生)和一個(gè)isql腳本文件(需要在編譯時(shí)設(shè)置選項(xiàng),才能產(chǎn)生)。列表文件包含了輸入文件的源語句和一些警告信息和錯(cuò)誤信息。Isql腳本文件包含了預(yù)編譯器產(chǎn)生的存儲(chǔ)過程腳本文件。這個(gè)存儲(chǔ)過程是用T-SQL寫的。總之,預(yù)編譯器的處理方法是,注釋了嵌入的SQL語句,用一些特定的函數(shù)代替。
    第二步是C源程序的編譯和鏈接。cl是編譯和鏈接命令的集成命令,編譯的結(jié)果是產(chǎn)生.obj,在鏈接時(shí),將C的系統(tǒng)庫和SQL Server提供的庫文件同目標(biāo)文件連接在一起。最后生成.exe。也可以使用SET LIB語句設(shè)置庫文件的環(huán)境信息。
    
2.3 嵌入SQL語句總覽
除了print、readtext和writetext外,大多數(shù)的Transact-SQL語句都可以在嵌入SQL中使用。嵌入SQL語句的語法為:“exec sql [at connection_name] sql_statement; ”。那么,你可以用Transact-SQL語句來替代sql_statement 就可以完成嵌入SQL的編寫。(同T-SQL相比,嵌入SQL提供了:自動(dòng)數(shù)據(jù)類型轉(zhuǎn)換、動(dòng)態(tài)SQL、SQLCA數(shù)據(jù)結(jié)構(gòu)等功能。)
但是,也有一些嵌入式SQL所特有的語句,有些嵌入式SQL語句的名字同Transact-SQL語句相同,但是語句的語法有所不同。 
嵌入SQL語句應(yīng)該包含五個(gè)步驟:
1)、通過SQLCA建立應(yīng)用程序和SQL SERVER的SQL通信區(qū)域。
2)、聲明宿主變量。
3)、連接到SQL SERVER。
4)、通過SQL語句操作數(shù)據(jù)。
5)、處理錯(cuò)誤和結(jié)果信息。
   嵌入式SQL語句分為靜態(tài)SQL語句和動(dòng)態(tài)SQL語句兩類。下面我們按照功能講解這些語句。本節(jié)講解靜態(tài)SQL語句的作用。動(dòng)態(tài)SQL語句將在下一節(jié)講解。同動(dòng)態(tài)SQL相關(guān)的一些語句也在下一節(jié)中講解。
2.3.1 宿主變量
1)、聲明方法
宿主變量(host variable)就是在嵌入式SQL語句中引用主語言說明的程序變量(如例中的user[31]變量)。如: 

   EXEC SQL BEGIN DECLARE SECTION;
   char user[31],passwd[31];
EXEC SQL END DECLARE SECTION;
…………
   exec sql connect :user identified by :passwd;
………….
在嵌入式SQL語句中使用主變量前,必須采用BEGIN DECLARE SECTION 和END DECLARE SECTION之間給主變量說明。這兩條語句不是可執(zhí)行語句,而是預(yù)編譯程序的說明。主變量是標(biāo)準(zhǔn)的C程序變量。嵌入SQL語句使用主變量來輸入數(shù)據(jù)和輸出數(shù)據(jù)。C程序和嵌入SQL語句都可以訪問主變量。
   另外,在定義宿主變量時(shí)也可以使用client-library定義的數(shù)據(jù)類型,如:CS_CHAR。這些定義存放在cspublic.h文件中。如:
 EXEC SQL BEGIN DECLARE SECTION;
   CS_CHAR user[30],passwd[30];
EXEC SQL END DECLARE SECTION;
client-library定義的數(shù)據(jù)類型共有:CS_BINARY、CS_BIT、 CS_BOOL、 CS_CHAR、 CS_DATETIME、CS_DATETIME4、 CS_DECIMAL、 CS_FLOAT、 CS_REAL、CS_IMAGE、 CS_INT、 CS_MONEY、 CS_MONEY4、 CS_NUMERIC、CS_RETCODE、 CS_SMALLINT、 CS_TEXT、 CS_TINYINT、CS_VARBINARY、 CS_VARCHAR、 CS_VOID。
為了便于識別主變量,當(dāng)嵌入式SQL語句中出現(xiàn)主變量時(shí),必須在變量名稱前標(biāo)上冒號(:)。冒號的作用是,告訴預(yù)編譯器,這是個(gè)主變量而不是表名或列名。不能在聲明時(shí),初始化數(shù)組變量。
由上可知,SYBASE SQL SERVER使用宿主變量傳遞數(shù)據(jù)庫中的數(shù)據(jù)和狀態(tài)信息到應(yīng)用程序,應(yīng)用程序也通過宿主變量傳遞數(shù)據(jù)到SYBASE數(shù)據(jù)庫。根據(jù)上面兩種功能,宿主變量分為輸出宿主變量和輸入宿主變量。在SELECT INTO和FETCH語句之后的宿主變量稱作“輸出宿主變量”,這是因?yàn)閺臄?shù)據(jù)庫傳遞列數(shù)據(jù)到應(yīng)用程序。如: 

exec sql begin declare section;
CS_CHAR id[5];
exec sql end declare section;
exec sql select title_id into :id from titles
where pub_id = "0736" and type = "business"; 

除了SELECT INTO和FETCH語句外的其他SQL語句(如:INSERT、UPDATE等語句)中的宿主變量,稱為“輸入宿主變量”。這是因?yàn)閺膽?yīng)用程序向數(shù)據(jù)庫輸入值。如:
exec sql begin declare section;
CS_CHAR id[7];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美浪妇xxxx高跟鞋交| 人人爽香蕉精品| 国产v综合v亚洲欧| 国产日韩欧美高清| 不卡高清视频专区| 亚洲精选一二三| 欧美在线综合视频| 午夜精品一区在线观看| 欧美一级专区免费大片| 麻豆精品久久久| 久久久久99精品一区| 成人激情视频网站| 亚洲精品国产第一综合99久久| 色婷婷久久一区二区三区麻豆| 偷拍亚洲欧洲综合| 精品国产乱码久久久久久夜甘婷婷 | 天天色综合天天| 欧美成人女星排名| 成人激情开心网| 亚洲动漫第一页| 精品日韩欧美一区二区| 成人激情图片网| 日韩国产一二三区| 国产日韩高清在线| 欧美午夜精品久久久| 狠狠色丁香久久婷婷综合_中| 中文一区一区三区高中清不卡| 在线观看亚洲一区| 国产精品中文字幕欧美| 亚洲国产日韩a在线播放性色| 在线综合亚洲欧美在线视频 | 国产一区二区不卡老阿姨| 国产精品网站一区| 69堂国产成人免费视频| 国产jizzjizz一区二区| 天天综合天天综合色| 久久久久久日产精品| 在线免费一区三区| 国产98色在线|日韩| 亚洲aaa精品| 国产精品日韩成人| 欧美成人精品二区三区99精品| 国产99久久久国产精品潘金| 日韩高清在线不卡| 亚洲日韩欧美一区二区在线| 亚洲精品在线一区二区| 欧美色视频在线| 欧美日韩国产一级二级| 精品制服美女丁香| 亚洲成人免费视频| 综合激情成人伊人| 国产女同互慰高潮91漫画| 欧美一区二区三区不卡| 91成人在线免费观看| 风间由美性色一区二区三区| 久久国产生活片100| 亚洲chinese男男1069| 最好看的中文字幕久久| 国产日产欧美一区| 欧美精品一区二区三区一线天视频| 欧美自拍偷拍一区| 91色在线porny| 成人免费观看男女羞羞视频| 国产精品一区二区三区网站| 麻豆91小视频| 免费人成在线不卡| 日韩国产在线一| 午夜精彩视频在线观看不卡| 一二三区精品视频| 一区二区视频在线| 亚洲日本丝袜连裤袜办公室| 中文字幕一区二区三中文字幕| 久久综合久久综合久久综合| 日韩欧美在线123| 日韩欧美自拍偷拍| 欧美成人三级电影在线| 精品久久久影院| 精品国产制服丝袜高跟| www久久精品| 久久精品一区二区三区av| 久久久久久久久久久久久夜| 久久久久久久久一| 国产欧美日韩三级| 中文字幕在线一区免费| 亚洲色图色小说| 亚洲一区二区三区四区中文字幕| 亚洲资源中文字幕| 丝袜诱惑制服诱惑色一区在线观看 | 午夜影院久久久| 日韩精品电影在线| 精品在线一区二区| 国产suv精品一区二区6| 色综合久久天天| 欧美日韩国产成人在线91| 欧美一三区三区四区免费在线看 | 久久综合色婷婷| 久久精品欧美日韩精品| 国产精品毛片高清在线完整版| 国产精品国产三级国产普通话99| 亚洲特级片在线| 五月天一区二区三区| 狠狠色丁香久久婷婷综合丁香| 欧美日韩国产电影| 51午夜精品国产| 久久精品欧美日韩| 亚洲综合久久久| 美女诱惑一区二区| 不卡的av电影在线观看| 欧美视频在线播放| 久久蜜桃av一区二区天堂| 中文字幕一区二区三| 日韩极品在线观看| 风间由美一区二区av101| 欧美性猛交xxxx黑人交| 日韩欧美激情一区| 国产精品久久看| 日产精品久久久久久久性色| 国产精品18久久久| 欧美丝袜第三区| 国产婷婷色一区二区三区| 夜夜爽夜夜爽精品视频| 狠狠v欧美v日韩v亚洲ⅴ| 色综合天天做天天爱| 精品91自产拍在线观看一区| 伊人色综合久久天天人手人婷| 蓝色福利精品导航| 91福利在线导航| 国产日韩欧美在线一区| 人人爽香蕉精品| 色噜噜狠狠色综合欧洲selulu| 欧美变态tickling挠脚心| 一区二区三区鲁丝不卡| 国产精品一区二区x88av| 欧美三日本三级三级在线播放| 国产日韩成人精品| 麻豆免费精品视频| 欧美视频中文一区二区三区在线观看| 久久久久国产精品麻豆ai换脸| 亚洲大片在线观看| 99久久er热在这里只有精品66| 欧美tk丨vk视频| 亚洲成av人片一区二区梦乃| av男人天堂一区| 国产欧美精品一区aⅴ影院 | 成人18精品视频| 欧美本精品男人aⅴ天堂| 亚洲 欧美综合在线网络| 91在线精品秘密一区二区| 久久久久九九视频| 久久99久久久久| 91精品中文字幕一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 91免费国产在线| 国产日韩欧美电影| 久久精品国产一区二区三区免费看| 欧美写真视频网站| 亚洲美女淫视频| 91浏览器在线视频| 日韩美女视频一区二区| 夫妻av一区二区| 中文字幕av资源一区| 高清视频一区二区| 国产精品视频在线看| 国产91色综合久久免费分享| 精品久久久久av影院| 激情小说欧美图片| 欧美精品一区二区三区四区| 久久av资源站| 久久新电视剧免费观看| 国产精品99久久久久| 国产亚洲精品7777| 成人精品一区二区三区中文字幕| 欧美国产成人精品| 91丨九色丨尤物| 一区二区三区91| 欧美疯狂性受xxxxx喷水图片| 日韩精品电影在线观看| 欧美哺乳videos| 国产成人精品免费视频网站| 国产精品美女久久久久久| 91在线国产福利| 亚洲aⅴ怡春院| 日韩一二三区视频| 国产乱人伦偷精品视频免下载| 日本一二三不卡| 色综合久久中文综合久久97| 香港成人在线视频| 精品国产sm最大网站| 99久久精品免费看| 粉嫩13p一区二区三区| 国产精品视频免费看| 欧日韩精品视频| 日本不卡一二三| 欧美激情一区二区三区蜜桃视频| 99精品国产99久久久久久白柏| 亚洲一区二区欧美| 日韩美女天天操| 99精品国产99久久久久久白柏| 亚洲综合激情另类小说区| 日韩三级视频中文字幕|