ASP.NET과 SQL SERVER가 가장 좋습니다. 대규모 프로그램의 경우 일반적으로 SQL SERVER가 가장 경제적으로 사용되는 경우에만 ACCESS를 사용합니다. SQL SERVER를 사용할 때 데이터베이스를 보다 효율적으로 만들기 위해 저장 프로시저가 일반적으로 사용됩니다. 저장 프로시저는 빠르게 실행되고 일부 고급 쿼리 및 기타 기능을 구현할 수 있기 때문입니다. 예를 들어, 일부 데이터 매개변수가 전달되지만 실행되는 SQL 프로시저는 다를 수 있습니다.
다음은 새 역할을 생성하고 역할 이름을 반복할 수 없도록 요구하는 예입니다. 다음은 저장 프로시저입니다.
생성 절차 sp_AccountRole_Create@CategoryID 정수,
@RoleName nvarchar(10),
@설명 nvarchar(50),
@RoleID 정수 출력
처럼
@Count int 선언-- 같은 이름의 레코드가 있는지 확인
SELECT @Count = Account_Role WHERE에서 개수(RoleID)
역할이름 = @RoleNameIF @Count = 0
Account_Role에 삽입
(CategoryID, RoleName, 설명) 값
(@CategoryID, @RoleName, @Description)SET @RoleID = @@IDENTITY
반환 1
가다
SqlConnection DbConnection = new SqlConnection(mConnectionString);
SqlCommand 명령 = new SqlCommand( "sp_AccountRole_Create", DbConnection );
DbConnection.Open(connectString);
// SqlCommand 특성을 저장 프로시저로 설정합니다.
command.CommandType = CommandType.StoredProcedure;command.Parameters.Add("@CategoryID", SqlDbType.Int, 4);
command.Parameters.Add("@RoleName", SqlDbType.NVarChar, 10);
command.Parameters.Add("@Description", SqlDbType.NVarChar, 50);
command.Parameters.Add("@RoleID", SqlDbType.Int, 4);
//반환값
command.Parameters.Add("반환값",
SqlDbType.Int,
4, // 크기
매개변수방향.반환값,
false, // null이 가능합니다.
0, // 바이트 정밀도
0, // 바이트 규모
문자열.비어 있음,
DataRowVersion.Default,
널 );command.parameters["@CategoryID"].value = 허가.CategoryID;
command.parameters["@RoleName"].value = 허가.권한 이름;
command.parameters["@Description"].value = 허가.설명;
// 새로운 ID 값이 반환될 수 있습니다.
command.parameters["@RoleID"].Direction = ParameterDirection.Output;introwAffected = command.ExecuteNonQuery();
int result = command.parameters["Returnvalue"].value;
int newID = command.parameters["@RoleID"].value;
이 함수는 매우 강력합니다. 즉, 행 영향 값, 저장 프로시저 반환 값 및 새 ID 값을 얻을 수 있습니다.