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 + ')
相关文档:
添加字段:
MYSQL
alter table tb add col2 varchar(10)
MSSQL2000
alter table tb add col2 varchar(10)
修改字段:
MYSQL
alter table tb modify col2 varchar(20)
MSSQL2000
alter table tb alter column col2 varchar(20)
删除字段:
MYSQL
alter table tb drop column col ......
use master
go
sp_dropextendedproc xp_cmdshell
go
sp_dropextendedproc xp_regaddmultistring
go
sp_dropextendedproc xp_regdeletekey
go
sp_dropextendedproc xp_regdeletevalue
go
sp_dropextendedproc xp_regenumvalues
go
sp_dropextendedproc xp_regread
go
sp_dropextendedproc xp_regwrite
go
sp ......
ORACLE
CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)
RETURN VARCHAR2
IS
RETURN_VALUE VARCHAR2 (20);
LEN NUMBER(8);
I NUMBER(8);
TEMP_VALUE VARCHAR2(1);
BEGIN
LEN := LENGTH(OLDVALUE);
IF POS > ......
MSSQL经典语句
1.按姓氏笔画排序:Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:select encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
select pwdencrypt('原始密码' ......
PHP读取MYSQL数据库或MSSQL数据库时,有时出现乱码,这是PHP.ini中配置和.php页面编码不一致引起的。
解决办法:
1、首先,将PHP.ini中设置为default_charset = "gb2312",然后重启Apache。
这时从数据库中提取的结果集可以正常显示中文了,但.php页面中的列名也有可能显示乱码了。这样解决,
2、然后,PH ......