sqlserver中定义好分页的存储过程,怎么使用存储过程查询?
例如定义好了分页的存储过程:--分页存储过程CREATEPROCEDURE[dbo].[P_SlipPage](@TableNamevarchar(150),--表名(支...
例如定义好了分页的存储过程:
--分页存储过程
CREATE PROCEDURE [dbo].[P_SlipPage]
(
@TableName varchar(150), -- 表名 (支持多表)
@Primarykey varchar(150), -- 主键
@FieldsName varchar(5000) = '*',-- 字段
@ByWHERE varchar(5000) = '', -- 查询条件, 不包涵 WHERE
@ByOrder varchar(150) = '', -- 排序
@PageSize int = 20, -- 每页显示的记录数
@PageIndex int = 1, -- 当前页码
@RecordCount int = 0 OUTPUT, -- 返回总记录数
@PageCount int = 0 OUTPUT -- 返回总页数
)
……结尾省略
请问怎么使用此存储过程实现分页的查询呢?
是java中如何实现调用存储过程分页查询 展开
--分页存储过程
CREATE PROCEDURE [dbo].[P_SlipPage]
(
@TableName varchar(150), -- 表名 (支持多表)
@Primarykey varchar(150), -- 主键
@FieldsName varchar(5000) = '*',-- 字段
@ByWHERE varchar(5000) = '', -- 查询条件, 不包涵 WHERE
@ByOrder varchar(150) = '', -- 排序
@PageSize int = 20, -- 每页显示的记录数
@PageIndex int = 1, -- 当前页码
@RecordCount int = 0 OUTPUT, -- 返回总记录数
@PageCount int = 0 OUTPUT -- 返回总页数
)
……结尾省略
请问怎么使用此存储过程实现分页的查询呢?
是java中如何实现调用存储过程分页查询 展开
1个回答
2014-03-12
展开全部
试试:
private DataTable GetDataByPageProc(String TableName, String Primarykey, String FieldsName, String ByWHERE
, String ByOrder, int PageSize, int PageIndex, ref int RecordCount, ref int PageCount)
{
SqlConnection cn = new SqlConnection(Function.ConnectionString);
String sql = "exec P_SlipPage @TableName=@a,@Primarykey=@b,@FieldsName=@c,@ByWHERE=@d ,@ByOrder=@e ,@PageSize=@f ,@PageIndex=@g ,@RecordCount=@h ,@PageCount =@i";
using (SqlDataAdapter da = new SqlDataAdapter(sql, cn))
{
da.SelectCommand.Parameters.AddWithValue("@a", TableName);
da.SelectCommand.Parameters.AddWithValue("@b", Primarykey);
da.SelectCommand.Parameters.AddWithValue("@c", FieldsName);
da.SelectCommand.Parameters.AddWithValue("@d", ByWHERE);
da.SelectCommand.Parameters.AddWithValue("@e", ByOrder);
da.SelectCommand.Parameters.AddWithValue("@f", PageSize);
da.SelectCommand.Parameters.AddWithValue("@g", PageIndex);
da.SelectCommand.Parameters.AddWithValue("@h", RecordCount);
da.SelectCommand.Parameters.AddWithValue("@i", PageCount);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
private DataTable GetDataByPageProc(String TableName, String Primarykey, String FieldsName, String ByWHERE
, String ByOrder, int PageSize, int PageIndex, ref int RecordCount, ref int PageCount)
{
SqlConnection cn = new SqlConnection(Function.ConnectionString);
String sql = "exec P_SlipPage @TableName=@a,@Primarykey=@b,@FieldsName=@c,@ByWHERE=@d ,@ByOrder=@e ,@PageSize=@f ,@PageIndex=@g ,@RecordCount=@h ,@PageCount =@i";
using (SqlDataAdapter da = new SqlDataAdapter(sql, cn))
{
da.SelectCommand.Parameters.AddWithValue("@a", TableName);
da.SelectCommand.Parameters.AddWithValue("@b", Primarykey);
da.SelectCommand.Parameters.AddWithValue("@c", FieldsName);
da.SelectCommand.Parameters.AddWithValue("@d", ByWHERE);
da.SelectCommand.Parameters.AddWithValue("@e", ByOrder);
da.SelectCommand.Parameters.AddWithValue("@f", PageSize);
da.SelectCommand.Parameters.AddWithValue("@g", PageIndex);
da.SelectCommand.Parameters.AddWithValue("@h", RecordCount);
da.SelectCommand.Parameters.AddWithValue("@i", PageCount);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
追问
这应该是.net里的写法吧!请问java中如何调用此带返回参数的存储过程?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询