asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET中如何调用存储过程


发布日期:2020年10月22日
 
ASP.NET中如何调用存储过程

用ASPNET与SQL SERVER可是缘份最好了稍大的程序一般第一先考虑的是SQLSERVER只是一些很考虑经济的才使用ACCESS等了用SQL SERVER为了使数据库的效率更好一般都会才取存储过程因存储过程执行速度快并且可以实现一些高级的查询等功能比如传入一些数据参数但执行的SQL过程可能不同等

下面就来个例子建立一新的角色要求角色的名字不能重复以下是一存储过程

CREATE PROCEDURE sp_AccountRole_Create@CategoryID int

@RoleName nvarchar()

@Description nvarchar()

@RoleID int output

AS

DECLARE @Count int

查找是否有相同名称的记录

SELECT @Count = Count(RoleID) FROM Account_Role WHERE

RoleName = @RoleName

IF @Count =

INSERT INTO Account_Role

(CategoryID RoleName Description) valueS

(@CategoryID @RoleName @Description)

SET @RoleID = @@IDENTITY

RETURN GO

执行存储过程的C#过程

SqlConnection DbConnection = new SqlConnection(mConnectionString);

SqlCommand command = new SqlCommand( sp_AccountRole_Create DbConnection );

DbConnectionOpen(connectString);

// 废置SqlCommand的属性为存储过程commandCommandType = CommandTypeStoredProcedure;

commandParametersAdd(@CategoryID SqlDbTypeInt );

commandParametersAdd(@RoleName SqlDbTypeNVarChar );

commandParametersAdd(@Description SqlDbTypeNVarChar );

commandParametersAdd(@RoleID SqlDbTypeInt );

// 返回值commandParametersAdd(Returnvalue

SqlDbTypeInt

// Size

ParameterDirectionReturnvalue

false

// is nullable

// byte precision

// byte scale

stringEmpty

DataRowVersionDefault

null );

commandparameters[@CategoryID]value = permissionCategoryID;

commandparameters[@RoleName]value = permissionPermissionName;

commandparameters[@Description]value = permissionDescription;

// 可以返回新的ID值commandparameters[@RoleID]Direction = ParameterDirectionOutput;

int rowsAffected = commandExecuteNonQuery();

int result = commandparameters[Returnvalue]value;int newID = commandparameters[@RoleID]value;

功能挺强的吧可以得到三个值分别是行影响值存储过程返回值新的ID值

               

上一篇:使用ASP.Net中的自定义控件

下一篇:ASP.NET图象处理详解(1)