亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【摘】CSDN論壇討論帖:用存儲(chǔ)過(guò)程實(shí)現(xiàn)的分頁(yè)程

系統(tǒng) 2000 0

/* --用存儲(chǔ)過(guò)程實(shí)現(xiàn)的分頁(yè)程序
顯示指定表、視圖、查詢結(jié)果的第X頁(yè)
對(duì)于表中主鍵或標(biāo)識(shí)列的情況,直接從原表取數(shù)查詢,其它情況使用臨時(shí)表的方法
如果視圖或查詢結(jié)果中有主鍵,不推薦此方法

--鄒建 2003.09(引用請(qǐng)保留此信息)--
*/

/* --調(diào)用示例
exec p_show '地區(qū)資料'

exec p_show '地區(qū)資料',5,3,'地區(qū)編號(hào),地區(qū)名稱,助記碼','地區(qū)編號(hào)'
--
*/

if exists ( select * from dbo.sysobjects where id = object_id (N ' [dbo].[p_show] ' )
and OBJECTPROPERTY (id, N ' IsProcedure ' ) = 1 )
drop procedure [ dbo ] . [ p_show ]
GO

CREATE Proc p_show
@QueryStr nvarchar ( 4000 ), -- 表名、視圖名、查詢語(yǔ)句
@PageSize int = 10 ,?? -- 每頁(yè)的大小(行數(shù))
@PageCurrent int = 1 ,?? -- 要顯示的頁(yè)
@FdShow nvarchar ( 4000 ) = '' , -- 要顯示的字段列表,如果查詢結(jié)果有標(biāo)識(shí)字段,需要指定此值,且不包含標(biāo)識(shí)字段
@FdOrder nvarchar ( 1000 ) = '' -- 排序字段列表
as
declare @FdName nvarchar ( 250 ) -- 表中的主鍵或表、臨時(shí)表中的標(biāo)識(shí)列名
, @Id1 varchar ( 20 ), @Id2 varchar ( 20 ) -- 開(kāi)始和結(jié)束的記錄號(hào)
, @Obj_ID int ??? -- 對(duì)象ID
--
表中有復(fù)合主鍵的處理
declare @strfd nvarchar ( 2000 ) -- 復(fù)合主鍵列表
, @strjoin nvarchar ( 4000 ) -- 連接字段
, @strwhere nvarchar ( 2000 ) -- 查詢條件


select @Obj_ID = object_id ( @QueryStr )
,
@FdShow = case isnull ( @FdShow , '' ) when '' then ' * ' else ' ' + @FdShow end
,
@FdOrder = case isnull ( @FdOrder , '' ) when '' then '' else ' order by ' + @FdOrder end
,
@QueryStr = case when @Obj_ID is not null then ' ' + @QueryStr else ' ( ' + @QueryStr + ' ) a ' end

-- 如果顯示第一頁(yè),可以直接用top來(lái)完成
if @PageCurrent = 1
begin
select @Id1 = cast ( @PageSize as varchar ( 20 ))
exec ( ' select top ' + @Id1 + @FdShow + ' from ' + @QueryStr + @FdOrder )
return
end

-- 如果是表,則檢查表中是否有標(biāo)識(shí)更或主鍵
if @Obj_ID is not null and objectproperty ( @Obj_ID , ' IsTable ' ) = 1
begin
select @Id1 = cast ( @PageSize as varchar ( 20 ))
? ,
@Id2 = cast (( @PageCurrent - 1 ) * @PageSize as varchar ( 20 ))

select @FdName = name from syscolumns where id = @Obj_ID and status = 0x80
if @@rowcount = 0 ?? -- 如果表中無(wú)標(biāo)識(shí)列,則檢查表中是否有主鍵
begin
?
if not exists ( select 1 from sysobjects where parent_obj = @Obj_ID and xtype = ' PK ' )
??
goto lbusetemp? -- 如果表中無(wú)主鍵,則用臨時(shí)表處理

?
select @FdName = name from syscolumns where id = @Obj_ID and colid in (
??
select colid from sysindexkeys where @Obj_ID = id and indid in (
???
select indid from sysindexes where @Obj_ID = id and name in (
????
select name from sysobjects where xtype = ' PK ' and parent_obj = @Obj_ID
?? )))
?
if @@rowcount > 1 ? -- 檢查表中的主鍵是否為復(fù)合主鍵
? begin
??
select @strfd = '' , @strjoin = '' , @strwhere = ''
??
select @strfd = @strfd + ' ,[ ' + name + ' ] '
??? ,
@strjoin = @strjoin + ' and a.[ ' + name + ' ]=b.[ ' + name + ' ] '
??? ,
@strwhere = @strwhere + ' and b.[ ' + name + ' ] is null '
???
from syscolumns where id = @Obj_ID and colid in (
???
select colid from sysindexkeys where @Obj_ID = id and indid in (
????
select indid from sysindexes where @Obj_ID = id and name in (
?????
select name from sysobjects where xtype = ' PK ' and parent_obj = @Obj_ID
??? )))
??
select @strfd = substring ( @strfd , 2 , 2000 )
??? ,
@strjoin = substring ( @strjoin , 5 , 4000 )
??? ,
@strwhere = substring ( @strwhere , 5 , 4000 )
??
goto lbusepk
?
end
end
end
else
goto lbusetemp

/* --使用標(biāo)識(shí)列或主鍵為單一字段的處理方法-- */
lbuseidentity:
exec ( ' select top ' + @Id1 + @FdShow + ' from ' + @QueryStr
?
+ ' where ' + @FdName + ' not in(select top '
?
+ @Id2 + ' ' + @FdName + ' from ' + @QueryStr + @FdOrder
?
+ ' ) ' + @FdOrder
? )
return

/* --表中有復(fù)合主鍵的處理方法-- */
lbusepk:?
exec ( ' select ' + @FdShow + ' from(select top ' + @Id1 + ' a.* from
? (select top 100 percent * from
' + @QueryStr + @FdOrder + ' ) a
? left join (select top
' + @Id2 + ' ' + @strfd + '
? from
' + @QueryStr + @FdOrder + ' ) b on ' + @strjoin + '
? where
' + @strwhere + ' ) a '
? )
return

/* --用臨時(shí)表處理的方法-- */
lbusetemp:?
select @FdName = ' [ID_ ' + cast ( newid () as varchar ( 40 )) + ' ] '
,
@Id1 = cast ( @PageSize * ( @PageCurrent - 1 ) as varchar ( 20 ))
,
@Id2 = cast ( @PageSize * @PageCurrent - 1 as varchar ( 20 ))

exec ( ' select ' + @FdName + ' =identity(int,0,1), ' + @FdShow + '
? into #tb from
' + @QueryStr + @FdOrder + '
select
' + @FdShow + ' from #tb where ' + @FdName + ' between '
+ @Id1 + ' and ' + @Id2
)
GO
=============================================================

-- TOP n 實(shí)現(xiàn)的通用分頁(yè)存儲(chǔ)過(guò)程(轉(zhuǎn)自鄒建)
CREATE PROC sp_PageView
@tbname ???? sysname,?????????????? -- 要分頁(yè)顯示的表名
@FieldKey ?? nvarchar ( 1000 ),????? -- 用于定位記錄的主鍵(惟一鍵)字段,可以是逗號(hào)分隔的多個(gè)字段
@PageCurrent int = 1 ,?????????????? -- 要顯示的頁(yè)碼
@PageSize ?? int = 10 ,??????????????? -- 每頁(yè)的大小(記錄數(shù))
@FieldShow nvarchar ( 1000 ) = '' ,????? -- 以逗號(hào)分隔的要顯示的字段列表,如果不指定,則顯示所有字段
@FieldOrder nvarchar ( 1000 ) = '' ,????? -- 以逗號(hào)分隔的排序字段列表,可以指定在字段后面指定DESC/ASC
????????????????????????????????????????? 用于指定排序順序
@Where ??? nvarchar ( 1000 ) = '' ,???? -- 查詢條件
@PageCount int OUTPUT???????????? -- 總頁(yè)數(shù)
AS
SET NOCOUNT ON
-- 檢查對(duì)象是否有效
IF OBJECT_ID ( @tbname ) IS NULL
BEGIN
???
RAISERROR (N ' 對(duì)象"%s"不存在 ' , 1 , 16 , @tbname )
???
RETURN
END
IF OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsTable ' ) = 0
???
AND OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsView ' ) = 0
???
AND OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsTableFunction ' ) = 0
BEGIN
???
RAISERROR (N ' "%s"不是表、視圖或者表值函數(shù) ' , 1 , 16 , @tbname )
???
RETURN
END

-- 分頁(yè)字段檢查
IF ISNULL ( @FieldKey ,N '' ) = ''
BEGIN
???
RAISERROR (N ' 分頁(yè)處理需要主鍵(或者惟一鍵) ' , 1 , 16 )
???
RETURN
END

-- 其他參數(shù)檢查及規(guī)范
IF ISNULL ( @PageCurrent , 0 ) < 1 SET @PageCurrent = 1
IF ISNULL ( @PageSize , 0 ) < 1 SET @PageSize = 10
IF ISNULL ( @FieldShow ,N '' ) = N '' SET @FieldShow = N ' * '
IF ISNULL ( @FieldOrder ,N '' ) = N ''
???
SET @FieldOrder = N ''
ELSE
???
SET @FieldOrder = N ' ORDER BY ' + LTRIM ( @FieldOrder )
IF ISNULL ( @Where ,N '' ) = N ''
???
SET @Where = N ''
ELSE
???
SET @Where = N ' WHERE ( ' + @Where + N ' ) '

-- 如果@PageCount為NULL值,則計(jì)算總頁(yè)數(shù)(這樣設(shè)計(jì)可以只在第一次計(jì)算總頁(yè)數(shù),以后調(diào)用時(shí),把總頁(yè)數(shù)傳回給存儲(chǔ)過(guò)程,避免再次計(jì)算總頁(yè)數(shù),對(duì)于不想計(jì)算總頁(yè)數(shù)的處理而言,可以給@PageCount賦值)
IF @PageCount IS NULL
BEGIN
???
DECLARE @sql nvarchar ( 4000 )
???
SET @sql = N ' SELECT @PageCount=COUNT(*) '
???????
+ N ' FROM ' + @tbname
???????
+ N ' ' + @Where
???
EXEC sp_executesql @sql ,N ' @PageCount int OUTPUT ' , @PageCount OUTPUT
???
SET @PageCount = ( @PageCount + @PageSize - 1 ) / @PageSize
END

-- 計(jì)算分頁(yè)顯示的TOPN值
DECLARE @TopN varchar ( 20 ), @TopN1 varchar ( 20 )
SELECT @TopN = @PageSize ,
???
@TopN1 = ( @PageCurrent - 1 ) * @PageSize

-- 第一頁(yè)直接顯示
IF @PageCurrent = 1
???
EXEC (N ' SELECT TOP ' + @TopN
???????
+ N ' ' + @FieldShow
???????
+ N ' FROM ' + @tbname
???????
+ N ' ' + @Where
???????
+ N ' ' + @FieldOrder )
ELSE
BEGIN
???
-- 處理別名
??? IF @FieldShow = N ' * '
???????
SET @FieldShow = N ' a.* '

???
-- 生成主鍵(惟一鍵)處理?xiàng)l件
??? DECLARE @Where1 nvarchar ( 4000 ), @Where2 nvarchar ( 4000 ),
???????
@s nvarchar ( 1000 ), @Field sysname
???
SELECT @Where1 = N '' , @Where2 = N '' , @s = @FieldKey
???
WHILE CHARINDEX (N ' , ' , @s ) > 0
???????
SELECT @Field =LEFT ( @s , CHARINDEX (N ' , ' , @s ) - 1 ),
???????????
@s = STUFF ( @s , 1 , CHARINDEX (N ' , ' , @s ),N '' ),
???????????
@Where1 = @Where1 + N ' AND a. ' + @Field + N ' =b. ' + @Field ,
???????????
@Where2 = @Where2 + N ' AND b. ' + @Field + N ' IS NULL ' ,
???????????
@Where = REPLACE ( @Where , @Field ,N ' a. ' + @Field ),
???????????
@FieldOrder = REPLACE ( @FieldOrder , @Field ,N ' a. ' + @Field ),
???????????
@FieldShow = REPLACE ( @FieldShow , @Field ,N ' a. ' + @Field )
???
SELECT @Where = REPLACE ( @Where , @s ,N ' a. ' + @s ),
???????
@FieldOrder = REPLACE ( @FieldOrder , @s ,N ' a. ' + @s ),
???????
@FieldShow = REPLACE ( @FieldShow , @s ,N ' a. ' + @s ),
???????
@Where1 = STUFF ( @Where1 + N ' AND a. ' + @s + N ' =b. ' + @s , 1 , 5 ,N '' ),???
???????
@Where2 = CASE
???????????
WHEN @Where = '' THEN N ' WHERE ( '
???????????
ELSE @Where + N ' AND ( '
???????????
END + N ' b. ' + @s + N ' IS NULL ' + @Where2 + N ' ) '

???
-- 執(zhí)行查詢
??? EXEC (N ' SELECT TOP ' + @TopN
???????
+ N ' ' + @FieldShow
???????
+ N ' FROM ' + @tbname
???????
+ N ' a LEFT JOIN(SELECT TOP ' + @TopN1
???????
+ N ' ' + @FieldKey
???????
+ N ' FROM ' + @tbname
???????
+ N ' a ' + @Where
???????
+ N ' ' + @FieldOrder
???????
+ N ' )b ON ' + @Where1
???????
+ N ' ' + @Where2
???????
+ N ' ' + @FieldOrder )
END

=============================================================
-- 字符串緩存實(shí)現(xiàn)的通用分頁(yè)存儲(chǔ)過(guò)程(轉(zhuǎn)自鄒建)
CREATE PROC sp_PageView
@tbname ???? sysname,?????????????? -- 要分頁(yè)顯示的表名
@FieldKey ?? sysname,?????????????? -- 用于定位記錄的主鍵(惟一鍵)字段,只能是單個(gè)字段
@PageCurrent int = 1 ,???????????????? -- 要顯示的頁(yè)碼
@PageSize ?? int = 10 ,??????????????? -- 每頁(yè)的大小(記錄數(shù))
@FieldShow ? nvarchar ( 1000 ) = '' ,????? -- 以逗號(hào)分隔的要顯示的字段列表,如果不指定,則顯示所有字段
@FieldOrder ? nvarchar ( 1000 ) = '' ,???? -- 以逗號(hào)分隔的排序字段列表,可以指定在字段后面指定DESC/ASC
????????????????????????????????????????? 用于指定排序順序
@Where ???? nvarchar ( 1000 ) = '' ,????? -- 查詢條件
@PageCount ? int OUTPUT??????????? -- 總頁(yè)數(shù)
AS
DECLARE @sql nvarchar ( 4000 )
SET NOCOUNT ON
-- 檢查對(duì)象是否有效
IF OBJECT_ID ( @tbname ) IS NULL
BEGIN
???
RAISERROR (N ' 對(duì)象"%s"不存在 ' , 1 , 16 , @tbname )
???
RETURN
END
IF OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsTable ' ) = 0
???
AND OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsView ' ) = 0
???
AND OBJECTPROPERTY ( OBJECT_ID ( @tbname ),N ' IsTableFunction ' ) = 0
BEGIN
???
RAISERROR (N ' "%s"不是表、視圖或者表值函數(shù) ' , 1 , 16 , @tbname )
???
RETURN
END

-- 分頁(yè)字段檢查
IF ISNULL ( @FieldKey ,N '' ) = ''
BEGIN
???
RAISERROR (N ' 分頁(yè)處理需要主鍵(或者惟一鍵) ' , 1 , 16 )
???
RETURN
END

-- 其他參數(shù)檢查及規(guī)范
IF ISNULL ( @PageCurrent , 0 ) < 1 SET @PageCurrent = 1
IF ISNULL ( @PageSize , 0 ) < 1 SET @PageSize = 10
IF ISNULL ( @FieldShow ,N '' ) = N '' SET @FieldShow = N ' * '
IF ISNULL ( @FieldOrder ,N '' ) = N ''
???
SET @FieldOrder = N ''
ELSE
???
SET @FieldOrder = N ' ORDER BY ' + LTRIM ( @FieldOrder )
IF ISNULL ( @Where ,N '' ) = N ''
???
SET @Where = N ''
ELSE
???
SET @Where = N ' WHERE ( ' + @Where + N ' ) '

-- 如果@PageCount為NULL值,則計(jì)算總頁(yè)數(shù)(這樣設(shè)計(jì)可以只在第一次計(jì)算總頁(yè)數(shù),以后調(diào)用時(shí),把總頁(yè)數(shù)傳回給存儲(chǔ)過(guò)程,避免再次計(jì)算總頁(yè)數(shù),對(duì)于不想計(jì)算總頁(yè)數(shù)的處理而言,可以給@PageCount賦值)
IF @PageCount IS NULL
BEGIN
???
SET @sql = N ' SELECT @PageCount=COUNT(*) '
???????
+ N ' FROM ' + @tbname
???????
+ N ' ' + @Where
???
EXEC sp_executesql @sql ,N ' @PageCount int OUTPUT ' , @PageCount OUTPUT
???
SET @PageCount = ( @PageCount + @PageSize - 1 ) / @PageSize
END

-- 計(jì)算分頁(yè)顯示的TOPN值
DECLARE @TopN varchar ( 20 ), @TopN1 varchar ( 20 )
SELECT @TopN = @PageSize ,
???
@TopN1 = @PageCurrent * @PageSize ???

-- 第一頁(yè)直接顯示
IF @PageCurrent = 1
???
EXEC (N ' SELECT TOP ' + @TopN
???????
+ N ' ' + @FieldShow
???????
+ N ' FROM ' + @tbname
???????
+ N ' ' + @Where
???????
+ N ' ' + @FieldOrder )
ELSE
BEGIN
???
SELECT @PageCurrent = @TopN1 ,
???????
@sql = N ' SELECT @n=@n-1,@s=CASE WHEN @n< ' + @TopN
???????????
+ N ' THEN @s+N '' , '' +QUOTENAME(RTRIM(CAST( ' + @FieldKey
???????????
+ N ' as varchar(8000))),N '''''''' ) ELSE N '''' END FROM ' + @tbname
???????????
+ N ' ' + @Where
???????????
+ N ' ' + @FieldOrder
???
SET ROWCOUNT @PageCurrent
???
EXEC sp_executesql @sql ,
??????? N
' @n int,@s nvarchar(4000) OUTPUT ' ,
???????
@PageCurrent , @sql OUTPUT
???
SET ROWCOUNT 0
???
IF @sql = N ''
???????
EXEC (N ' SELECT TOP 0 '
???????????
+ N ' ' + @FieldShow
???????????
+ N ' FROM ' + @tbname )
???
ELSE
???
BEGIN
???????
SET @sql = STUFF ( @sql , 1 , 1 ,N '' )???????
???????
-- 執(zhí)行查詢
??????? EXEC (N ' SELECT TOP ' + @TopN
???????????
+ N ' ' + @FieldShow
???????????
+ N ' FROM ' + @tbname
???????????
+ N ' WHERE ' + @FieldKey
???????????
+ N ' IN( ' + @sql
???????????
+ N ' ) ' + @FieldOrder )
???
END
END

=============================================================
-- 臨時(shí)表緩存實(shí)現(xiàn)的通用分頁(yè)存儲(chǔ)過(guò)程
CREATE PROC sp_PageView
@tbname sysname, --要分頁(yè)顯示的表名
@FieldKey nvarchar(1000), --用于定位記錄的主鍵(惟一鍵)字段,可以是逗號(hào)分隔的多個(gè)字段
@PageCurrent int=1, --要顯示的頁(yè)碼
@PageSize int=10, --每頁(yè)的大小(記錄數(shù))
@FieldShow nvarchar(1000)='', --以逗號(hào)分隔的要顯示的字段列表,如果不指定,則顯示所有字段
@FieldOrder nvarchar(1000)='', --以逗號(hào)分隔的排序字段列表,可以指定在字段后面指定DESC/ASC用于指定排序順序
@Where nvarchar(1000)='', --查詢條件
@PageCount int OUTPUT --總頁(yè)數(shù)
AS
SET NOCOUNT ON
--檢查對(duì)象是否有效
IF OBJECT_ID(@tbname) IS NULL
BEGIN
RAISERROR(N'對(duì)象"%s"不存在',1,16,@tbname)
RETURN
END
IF OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsTable')=0
AND OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsView')=0
AND OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsTableFunction')=0
BEGIN
RAISERROR(N'"%s"不是表、視圖或者表值函數(shù)',1,16,@tbname)
RETURN
END

--分頁(yè)字段檢查
IF ISNULL(@FieldKey,N'')=''
BEGIN
RAISERROR(N'分頁(yè)處理需要主鍵(或者惟一鍵)',1,16)
RETURN
END

--其他參數(shù)檢查及規(guī)范
IF ISNULL(@PageCurrent,0)<1 SET @PageCurrent=1
IF ISNULL(@PageSize,0)<1 SET @PageSize=10
IF ISNULL(@FieldShow,N'')=N'' SET @FieldShow=N'*'
IF ISNULL(@FieldOrder,N'')=N''
SET @FieldOrder=N''
ELSE
SET @FieldOrder=N'ORDER BY '+LTRIM(@FieldOrder)
IF ISNULL(@Where,N'')=N''
SET @Where=N''
ELSE
SET @Where=N'WHERE ('+@Where+N')'

--如果@PageCount為NULL值,則計(jì)算總頁(yè)數(shù)(這樣設(shè)計(jì)可以只在第一次計(jì)算總頁(yè)數(shù),以后調(diào)用時(shí),把總頁(yè)數(shù)傳回給存儲(chǔ)過(guò)程,避免再次計(jì)算總頁(yè)數(shù),對(duì)于不想計(jì)算總頁(yè)數(shù)的處理而言,可以給@PageCount賦值)
IF @PageCount IS NULL
BEGIN
DECLARE @sql nvarchar(4000)
SET @sql=N'SELECT @PageCount=COUNT(*)'
+N' FROM '+@tbname
+N' '+@Where
EXEC sp_executesql @sql,N'@PageCount int OUTPUT',@PageCount OUTPUT
SET @PageCount=(@PageCount+@PageSize-1)/@PageSize
END

--計(jì)算分頁(yè)顯示的TOPN值
DECLARE @TopN varchar(20),@TopN1 varchar(20)
SELECT @TopN=@PageSize,
@TopN1=@PageCurrent*@PageSize

--第一頁(yè)直接顯示
IF @PageCurrent=1
EXEC(N'SELECT TOP '+@TopN
+N' '+@FieldShow
+N' FROM '+@tbname
+N' '+@Where
+N' '+@FieldOrder)
ELSE
BEGIN
--生成主鍵(惟一鍵)處理?xiàng)l件
DECLARE @Where1 nvarchar(4000),@s nvarchar(1000)
SELECT @Where1=N'',@s=@FieldKey
WHILE CHARINDEX(N',',@s)>0
SELECT @s=STUFF(@s,1,CHARINDEX(N',',@s),N''),
@Where1=@Where1
+N' AND a.'+LEFT(@s,CHARINDEX(N',',@s)-1)
+N'='+LEFT(@s,CHARINDEX(N',',@s)-1)
SELECT @Where1=STUFF(@Where1+N' AND a.'+@s+N'='+@s,1,5,N''),
@TopN=@TopN1-@PageSize

--執(zhí)行查詢
EXEC(N'SET ROWCOUNT '+@TopN1
+N' SELECT '+@FieldKey
+N' INTO # FROM '+@tbname
+N' '+@Where
+N' '+@FieldOrder
+N' SET ROWCOUNT '+@TopN
+N' DELETE FROM #'
+N' SELECT '+@FieldShow
+N' FROM '+@tbname
+N' a WHERE EXISTS(SELECT * FROM # WHERE '+@Where1
+N') '+@FieldOrder)
END

=============================================================


?

【摘】CSDN論壇討論帖:用存儲(chǔ)過(guò)程實(shí)現(xiàn)的分頁(yè)程序


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日韩欧美中文 | 成人免费久久精品国产片久久影院 | 精品免费久久久久国产一区 | 99久久精品国产综合男同 | 国产精品无码久久av | 日本不卡在线视频高清免费 | 亚洲欧美高清视频 | 四虎精品成人免费视频 | 日本一级黄色毛片 | 亚洲不卡在线视频 | 欧美精品久久久久久久久大尺度 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 午夜深夜福利网址 | 日日操天天操夜夜操 | 国产真实伦视频在线视频 | 毛片免费全部播放一级 | 免费的性生活视频 | 欧日韩不卡在线视频 | 美女久久久久久久久久久 | vr欧美乱强伦xxxxx | 美女被a到爽视频在线观看 美女被cao的视频免费看 | 久久久精品国产免费观看同学 | 日日噜噜夜夜狠视频免费 | 久热免费视频 | 中文字幕在线精品视频万部 | 99久久免费看精品国产一区 | 成人人免费夜夜视频观看 | 国产精品一区二 | 精品中文字幕一区在线 | 国模私拍视频在线 | 国产亚洲精品麻豆一区二区 | 天天视频一区二区三区 | 午夜色站| 久久香蕉国产线看观看乱码 | 色女孩综合 | 又粗又大的机巴好爽视频视频 | 亚洲欧美日韩高清一区二区一 | a免费国产一级特黄aa大 | 视频一区二区三区在线 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 69成人做爰视频在线观看 |