《MYSQL數(shù)據(jù)庫通用SQL存儲過程分頁以及asp.net后臺調(diào)用的方法》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫通用SQL存儲過程分頁以及asp.net后臺調(diào)用的方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL學(xué)習(xí)創(chuàng)立表格并添加300萬數(shù)據(jù)
MYSQL學(xué)習(xí)
use Stored
CREATE TABLE UserInfo( --創(chuàng)立表
id int IDENTITY(1,1) PRIMARY KEY not null,--添加主鍵和標(biāo)識列
UserName varchar(50)
)
declare @i int --添加3百萬數(shù)據(jù),大概4分鐘時(shí)間
set @i=1
while @i<3000000
begin
insert into UserInfo (UserName) values(@i)
set @i=@i+1
end
MYSQL學(xué)習(xí)存儲過程T-SQL
MYSQL學(xué)習(xí)
create PROCEDURE [dbo].[GetDataList]
(
@TableName varchar(5000), --表名
@Fields varchar(5000) = '*', --字段名(全部字段為*)
@OrderField varchar(5000), --排序字段(必需!支持多字段)
@OrderType varchar(5000), --排序類型
@sqlWhere varchar(5000) = Null, --條件語句(不用加where)
@pageSize int, --每頁多少條記錄
@pageIndex int = 1 , --指定當(dāng)前為第幾頁
@TotalPage int output, --返回總頁數(shù)
@totalRecord int output --計(jì)算總記錄數(shù) --返回總記錄數(shù)
)
as
begin Begin Tran --開始事務(wù)
Declare @sql nvarchar(500);
if (@SqlWhere='' or @sqlWhere=NULL)
set @sql = 'select @totalRecord = count(*) from ' + @TableName
else
set @sql = 'select @totalRecord = count(*) from ' + @TableName + ' where ' + @sqlWhere
EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--計(jì)算總記錄數(shù)
--計(jì)算總頁數(shù)
select @TotalPage=CEILING((@totalRecord+0.0)/@PageSize) if (@SqlWhere='' or @sqlWhere=NULL)
set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName
else
set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName + ' where ' + @SqlWhere
--處理頁數(shù)超出范圍情況
if @PageIndex<=0
Set @pageIndex = 1
if @pageIndex>@TotalPage
Set @pageIndex = @TotalPage --處理開始點(diǎn)和結(jié)束點(diǎn)
Declare @StartRecord int
Declare @EndRecord int
set @StartRecord = (@pageIndex-1)*@PageSize + 1
set @EndRecord = @StartRecord + @pageSize - 1 --繼續(xù)合成sql語句
set @Sql = @Sql + ') as ' + @TableName + ' where rowid between ' + Convert(varchar(50),@StartRecord) + ' and ' + Convert(varchar(50),@EndRecord)
--print @Sql
Exec(@Sql)
---------------------------------------------------
If @@Error <> 0
Begin
RollBack Tran
Return -1
End
Else
Begin
Commit Tran
Return @totalRecord ---返回記錄總數(shù)
End
end
--exec GetDataList 'Userinfo','*','id','desc','',10,1,3,3000000
MYSQL學(xué)習(xí)前臺頁面Default2.aspx
MYSQL進(jìn)修
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<asp:Label ID="lbl_page" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
MYSQL進(jìn)修后臺CS代碼Default2.aspx.cs
歡迎參與《MYSQL數(shù)據(jù)庫通用SQL存儲過程分頁以及asp.net后臺調(diào)用的方法》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11221.html