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

存儲過程參數輸入輸出

系統 2008 0

sql server 帶輸入輸出參數的分頁存儲過程(效率最高)

?

create procedure proc_page_withtopmax
(
@pageIndex int,--頁索引
@pageSize int,--每頁顯示數
@pageCount int output,--總頁數,輸出參數?
@totalCount int output--總條數
)
as
begin
set nocount on;

declare @sql nvarchar(1000)
set @sql='select top 10 * from tb_testtable where (id> (select max(id) from (select top '+str((@pageIndex-1)*@pageSize)+' id from tb_testtable order by id) as temp)) order by id'
execute(@sql)

declare @sqlRecordCount nvarchar(1000) --得到總記錄條數的語句
set @sqlRecordCount=N'select @recordCount=count(*) from tb_testtable'?
declare @recordCount int --保存總記錄條數的變量
exec sp_executesql @sqlRecordCount,N'@recordCount int output',@recordCount output

if( @recordCount % @pageSize = 0) --如果總記錄條數可以被頁大小整除?
set @pageCount = @recordCount / @pageSize --總頁數就等于總記錄條數除以頁大小?
else --如果總記錄條數不能被頁大小整除?
set @pageCount = @recordCount / @pageSize + 1 --總頁數就等于總記錄條數除以頁大小加1

set @totalCount = @recordCount

set nocount off;
end

--數據庫中執行該存儲過程
declare @pageCount int, @totalCount int

exec proc_page_withtopmax 2,95955,@pageCount output,@totalCount output

select '總頁數:'+str(@pageCount)
select '總條數:'+str(@totalCount)

?

C# 代碼調用該帶輸入輸出參數的分頁存儲過程

?

public static DataSet GetRecordByPage( int pageSize, int pageIndex, out int pageCount, out int totalCount)
{
DataSet ds = new DataSet();
try
{
using (SqlConnection conn = new SqlConnection(@"server=;database=data_test;uid=; pwd=;"))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Parameters.Add(new SqlParameter("@pageSize", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@pageIndex", SqlDbType.Int));
SqlParameter param = new SqlParameter("@totalCount", SqlDbType.Int);
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);

SqlParameter param1 = new SqlParameter("@pageCount", SqlDbType.Int);
param1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param1);

cmd.Parameters[0].Value = pageSize;
cmd.Parameters[1].Value = pageIndex;
cmd.Parameters[2].Value = 0;
cmd.Parameters[3].Value = 0;

cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "proc_page_withtopmax";
cmd.CommandTimeout = 180;

SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;

DataSet source = new DataSet();
adapter.Fill(ds);

object o = cmd.Parameters["@totalCount"].Value;
totalCount = (o == null || o == DBNull.Value) ? 0 : System.Convert.ToInt32(o);

object b = cmd.Parameters["@pageCount"].Value;
pageCount = (b == null || o == DBNull.Value) ? 0 : System.Convert.ToInt32(b);
}
}
catch (SqlException e)
{
throw e;
}
return ds;
}

}

存儲過程參數輸入輸出


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99re热视频在线 | 国产成人刺激视频在线观看 | 99re6这里只有精品视频 | 天天做天天爱夜夜爽女人爽宅 | 成人在线观看一区 | 97在线观看完整免费 | 99热这里只有精品8 99热这里只有精品88 | 欧美国产一区二区二区 | 国产伦精品一区二区三区免 | bt 另类 专区 欧美 制服 | 亚洲综合一区二区三区四区 | 欧美人拘一级毛片 | 中文字幕欧美一区 | 激情伊人网 | 欧美成人毛片免费网站 | 私人影院免费观看 | 久久久久久久久国产 | 国产这里有精品 | 国产亚洲精品久久久久久牛牛 | 日韩欧美在线播放视频 | 亚洲精品第一国产麻豆 | 日本韩国欧美一区 | 色综合久久天天影视网 | 成人一级黄色毛片 | 日本中文字幕在线看 | 欧美国产中文 | 国产永久在线观看 | 国产亚洲欧美日韩在线看片 | 日日操狠狠操 | 久久精品国产曰本波多野结衣 | 日本一区二区三区中文字幕 | 99视频在线观看免费 | 2020久久国产精品福利 | 羞羞网站免费观看 | 亚洲免费人成在线视频观看 | 91在线九色| 欧美a视频在线观看 | 94久久国产乱子伦精品免费 | 亚洲十欧美十日韩十国产 | 波多野结衣一区二区 | 欧美爽爽 |