您的位置:首页 > 编程语言 > ASP

asp.net 调用 存储过程(带output 参数)

2008-05-31 21:55 369 查看
存储过程:

--建数据库

createdatabasetest

--建表

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[laolao]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[laolao]
GO

CREATETABLE[dbo].[laolao](
[MyName][int]NOTNULL,
[Mycompany][varchar](20)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO

--在表里面插入1000记录

SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
GO

createprocps_InsertRow
as
declare@iINT

set@i=1000

while@i>0
begin
insertintolaolaovalues(cast(@iasvarchar(10)),cast(@iasvarchar(10))+'whn')
set@i=@i-1
end

GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO

--一个带output参数的存储过程

SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
GO

ALTERprocDepartPage
@PageIndexint,
@PageSizeint,
@SumCountintoutput

as

begin

declare@RecordCountint
set@RecordCount=@PageIndex*@PageSize
set@SumCount=(selectCount(*)fromlaolao)
SETROWCOUNT@RecordCount
select*into#TempTablefromlaolaoorderbyMyNameasc
SETROWCOUNT@PageSize
select*from#TempTableorderbyMyNamedesc
SETROWCOUNT0
droptable#TempTable
end

GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO

c#代码(在App_Code中添加)



usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
///
///Class1的摘要说明
///
publicclassdb
{
publicdb()
{
//
//TODO:在此处添加构造函数逻辑
//
}
publicstaticDataTableGetList(intPageIndex,intPageSize,outintSumCount)
{
SumCount=0;
//stringsqlstr=ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString;
SqlConnectioncon=newSqlConnection("server=.;database=test;uid=sa;pwd=sa");
SqlCommandcmd=newSqlCommand();
cmd.Connection=con;
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="DepartPage";
SqlParameter[]par={newSqlParameter("@PageIndex",DbType.Int32),newSqlParameter("@PageSize",DbType.Int32),newSqlParameter("@SumCount",DbType.Int32)};

par[0].Value=PageIndex;
par[1].Value=PageSize;
par[2].Value=SumCount;
par[2].Direction=ParameterDirection.Output;
for(inti=0;i<par.Length;i++)
{
cmd.Parameters.Add(par[i]);
}
SqlDataAdapterdataAdapter=newSqlDataAdapter(cmd);
DataTableds=newDataTable();
dataAdapter.Fill(ds);
SumCount=Convert.ToInt32(cmd.Parameters["@SumCount"].Value);
returnds;

}

}

//页面调用

intSumCount=0;
db.GetList(1,10,outSumCount);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: