存储过程分页
来源:互联网 发布:阿里纳斯数据 编辑:程序博客网 时间:2024/05/16 19:43
存储分页
CREATE PROCEDURE proc_Page
@Table VARCHAR(100), --表名
@Primarykey VARCHAR(100), --主键
@Condition VARCHAR(500), --查询条件
@PageNumber INT, --开始页数
@PageSize INT, --每页大小
@IsCount BIT --是否获得记录数,0为否
AS
DECLARE @SQL VARCHAR(8000)
IF @IsCount != 0
SET @SQL = 'SELECT Count(*) FROM ' + @Table + ' WHERE ' + @Condition
ELSE
BEGIN
IF @PageNumber = 1
SET @SQL = 'SELECT TOP ' + STR(@PageSize) + ' SerialNum AS 流水号,PatientName AS 病人姓名,CheckDate AS 检查日期 FROM ' + @Table + ' WHERE ' + @Condition
ELSE
SET @SQL = 'SELECT TOP ' + STR(@PageSize) + ' SerialNum AS 流水号,PatientName AS 病人姓名,CheckDate AS 检查日期 FROM ' + @Table +
' WHERE ' + @Primarykey + ' NOT IN (SELECT TOP ' + STR(@PageSize*(@PageNumber - 1))
+ ' ' + @Primarykey + ' FROM ' + @Table + ' WHERE ' + @Condition + ') AND ' + @Condition
END
EXEC(@SQL)
RETURN
调用函数
public static DataTable GetPatientInfo(string Condition, string StoreProcedure, int pageNumber, int PageSize, int isCount)
{
SqlParameter[] sqlParameter =
{
new SqlParameter("@Table","CheckRecord"),
new SqlParameter("@Primarykey","SerialNum"),
new SqlParameter("@Condition",Condition),
new SqlParameter("@PageNumber",pageNumber),
new SqlParameter("@PageSize",PageSize),
new SqlParameter("@IsCount",isCount)
};
using (SqlConnection sqlConnection = new SqlConnection(WebConfig.ConnectionString))
{
try
{
sqlConnection.Open();
SqlCommand sqlcommand = new SqlCommand(StoreProcedure, sqlConnection);
sqlcommand.CommandType = CommandType.StoredProcedure;
sqlcommand.Parameters.AddRange(sqlParameter);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlcommand;
DataTable dt = new DataTable();
sqlDataAdapter.Fill(dt);
return dt;
}
catch (SqlException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
}
CREATE PROCEDURE proc_Page
@Table VARCHAR(100), --表名
@Primarykey VARCHAR(100), --主键
@Condition VARCHAR(500), --查询条件
@PageNumber INT, --开始页数
@PageSize INT, --每页大小
@IsCount BIT --是否获得记录数,0为否
AS
DECLARE @SQL VARCHAR(8000)
IF @IsCount != 0
SET @SQL = 'SELECT Count(*) FROM ' + @Table + ' WHERE ' + @Condition
ELSE
BEGIN
IF @PageNumber = 1
SET @SQL = 'SELECT TOP ' + STR(@PageSize) + ' SerialNum AS 流水号,PatientName AS 病人姓名,CheckDate AS 检查日期 FROM ' + @Table + ' WHERE ' + @Condition
ELSE
SET @SQL = 'SELECT TOP ' + STR(@PageSize) + ' SerialNum AS 流水号,PatientName AS 病人姓名,CheckDate AS 检查日期 FROM ' + @Table +
' WHERE ' + @Primarykey + ' NOT IN (SELECT TOP ' + STR(@PageSize*(@PageNumber - 1))
+ ' ' + @Primarykey + ' FROM ' + @Table + ' WHERE ' + @Condition + ') AND ' + @Condition
END
EXEC(@SQL)
RETURN
调用函数
public static DataTable GetPatientInfo(string Condition, string StoreProcedure, int pageNumber, int PageSize, int isCount)
{
SqlParameter[] sqlParameter =
{
new SqlParameter("@Table","CheckRecord"),
new SqlParameter("@Primarykey","SerialNum"),
new SqlParameter("@Condition",Condition),
new SqlParameter("@PageNumber",pageNumber),
new SqlParameter("@PageSize",PageSize),
new SqlParameter("@IsCount",isCount)
};
using (SqlConnection sqlConnection = new SqlConnection(WebConfig.ConnectionString))
{
try
{
sqlConnection.Open();
SqlCommand sqlcommand = new SqlCommand(StoreProcedure, sqlConnection);
sqlcommand.CommandType = CommandType.StoredProcedure;
sqlcommand.Parameters.AddRange(sqlParameter);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlcommand;
DataTable dt = new DataTable();
sqlDataAdapter.Fill(dt);
return dt;
}
catch (SqlException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
}
0 0
- orcale分页 存储过程分页
- 一个分页存储过程
- 一个分页存储过程
- 存储过程分页代码
- 分页存储过程
- 数据库分页存储过程
- 分页存储过程
- 一个分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- 存储过程分页
- SqlServer分页存储过程
- 分页的存储过程
- 通用分页存储过程
- sql 存储过程分页
- 分页存储过程
- 分页存储过程2
- 分页的存储过程
- WCF传输大数据的设置
- 那些大闸蟹git
- nginx静态化文件转发规则配置
- UILabel的使用方法
- PackageManagerService 分析及执行流程
- 存储过程分页
- android开发之dip、dp、sp、pt和px的区别以及屏幕密度略谈(外加屏幕适配)
- List和ArrayList的区别
- 原YUV格式的解析 Android NV21 视频采集
- UVALive - 3983 Robotruck DP
- MyEclipse 快捷键
- 利用Windows Service,定时监控某一目录,发现新文件后自动上传到指定web服务器
- 生产环境中使用Cassandra(v0.6.1) 经验小结
- 拷贝构造函数和赋值构造函数的异同