Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

AspNetPagerÓëMSSQLº£Á¿·ÖÒ³´æ´¢¹ý³Ì½áºÏ

´æ´¢¹ý³ÌPagination£º
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Pagination]
@tblName varchar(255), -- ±íÃû
@PKName varchar(255), -- ×Ö¶ÎÃû
@strGotFields varchar(1000) = '*' , --²éѯ×Ö¶ÎÃû
@PageSize int = 10, -- Ò³³ß´ç
@PageIndex int = 1, -- Ò³Âë
@OrderType bit = 0, -- ÉèÖÃÅÅÐòÀàÐÍ, ·Ç 0 ÖµÔò½µÐò
@strSort varchar(255) = '', --ÅÅÐò×Ö¶Î
@strWhere varchar(2000) = '', -- ²éѯÌõ¼þ (×¢Òâ: ²»Òª¼Ó where)
@isCount bit = 1 --È¡µÃ¼Ç¼ÌõÊý
AS
DECLARE @strSQL varchar(6000) -- Ö÷Óï¾ä
DECLARE @strTmp varchar(1000) -- ÁÙʱ±äÁ¿
DECLARE @strOrder varchar(500) -- ÅÅÐòÀàÐÍ
DECLARE @strCount varchar(1000)
DECLARE @fldName varchar(255)
DECLARE @sortName varchar(255)
DECLARE @countSQL varchar(1000)
SET @fldName = @PKName
IF @strSort != ''
BEGIN
SET @sortName = @strSort
END
ELSE
BEGIN
SET @sortName = @PKName
END
IF @isCount = 1
BEGIN
IF @strWhere != ''
BEGIN
SET @countSQL = 'select count(' + @fldName + ') from ' + @tblName + ' where ' + @strWhere
END
ELSE
BEGIN
SET @countSQL = 'select count(' + @fldName + ') from ' + @tblName
END
EXEC (@countSQL)
RETURN
END
ELSE
BEGIN
IF @OrderType != 0
BEGIN
SET @strTmp = '<(select min'
SET @strOrder = ' order by ' + @sortName + ' desc'
END
ELSE
BEGIN
SET @strTmp = '>(select max'
SET @strOrder = ' order by ' + @sortName +' asc'
END
SET @strSQL = 'select top ' + str(@PageSize) + @strGotFields + ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '
+ @fldName + ' from ' + @tblName + '' + @strOrder + ') as tblTmp)'
+ @strOrder
IF @strWhere != ''
SET @strSQL = 'select top ' + str(@PageSize) + @strGotFields + ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '
+ @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ')


Ïà¹ØÎĵµ£º

MSSQL×ÔÔöÁÐÖØ複與²»連續

--> Title  : ×ÔÔöÁÐÖØ複與²»連續
--> Author : wufeng4552
--> Date   : 2009-11-13 08:31:12
 
--×ÔÔöÁÐͨ³£ÔÚÒÔÏÂ幾種Çé況¶ø導Ö²»連續
if object_id('tb')is not null drop table tb
go
create table tb(ID int iden ......

MSSQLÖмì²éËùʹÓõÄÓï¾äÊÇ·ñ±ê×¼

 ¼ì²éËùʹÓõÄÓï¾äÊÇ·ñ±ê×¼
 /*
     ±ê×¼SQLºÍT-SQLÖ®¼äÓкܶàÇø±ð——Ì«¶àÁË£¬ÕâÀï¾Í²»ËµÁË¡£»¹ÓУ¬Èç¹ûÄãÔÚSQL ServerÉϹ¤×÷£¬
 ÄÇôʹÓÃÕâЩ˽ÓеÄÀ©Õ¹ÊÇÓкô¦µÄ¡£ÓÉÓÚÐí¶àSQL ServerµÄÌØÐԵı¾ÖÊ£¬Ä㲻ʹÓ÷DZê×¼µÄÃüÁîµÄ»°£¬
 ½«»áÓкܶàÇ¿´óµÄ¹¦ÄÜÎÞ·¨ÊµÏÖ¡ ......

MSSQL varbinaryת»»³É×Ö·û´®

--> Title  : varbinaryת»»³É×Ö·û´®
--> Author : wufeng4552
--> Date   : 2009-12-15
declare @s varchar(20),@bin varbinary(1000)
select @s='www.CSDN.net',@bin=cast(@s as varbinary(1000))
declare @re varchar(1000),@i int
select @re='',@i=datalength(@bin)
while @i>0
&n ......

MsSql ºÍ Oracle ¿çÊý¾Ý¿â²éѯ

SQL
insert into   table_name(colum1,colum2)
select  colum1,colum2
 from  opendatasource('sqloledb','data source=·þÎñÆ÷Ãû;user id=Óû§Ãû ;password=ÃÜÂë ').database_name.dbo.table_name
ÈçÖ´ÐгöÏÖÒÔÏ´íÎó”sql server ×èÖ¹Á˶Ô×é¼þ \'ad hoc distributed queries\' µÄ·ÃÎÊ&l ......

MsSqlÄÚ²¿ÐÅÏ¢(Áôµµ)

--SCHEMATA±íÌṩÁ˹ØÓÚÊý¾Ý¿âµÄÐÅÏ¢
select top 10 * from INFORMATION_SCHEMA.SCHEMATA
--TABLES±í¸ø³öÁ˹ØÓÚÊý¾Ý¿âÖеıíµÄÐÅÏ¢
select top 10 * from INFORMATION_SCHEMA.TABLES
--COLUMNS±í¸ø³öÁ˱íÖеÄÁÐÐÅÏ¢¡£
select top 10 * from INFORMATION_SCHEMA.COLUMNS
--VIEWS±í¸ø³öÁ˹ØÓÚÊý¾Ý¿âÖеÄÊÓͼµÄÐÅÏ¢
sel ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ