HOWTO · Csharp
C#에서 매개변수를 사용하여 저장 프로시저 실행
이 문서에서는 C#에서 매개 변수를 사용하여 저장 프로시저를 호출하는 방법에 대해 설명합니다.
이 페이지의 내용
이 가이드에서는 C#에서 매개변수를 사용하여 저장 프로시저를 실행/호출하는 방법, 즉 저장 프로시저 내부에 매개변수를 전달하는 방법을 배웁니다.
이 컴팩트 가이드에서 처음부터 끝까지 모든 것을 배우게 됩니다. 뛰어들자!
C#에서 매개변수를 사용하여 저장 프로시저 실행
C#에서 매개 변수를 사용하여 저장 프로시저를 호출하는 방법을 이해하려면 저장 프로시저와 관련된 모든 기본 사항을 이해해야 합니다.
그것들은 무엇이며 어떤 목적으로 사용됩니까? 그들의 장점은 무엇입니까? 어떻게 만들고 변경합니까?
C#의 저장 프로시저
단일 실행 계획으로 조합된 Transact-SQL 문의 모음은 저장 프로시저입니다. 데이터베이스 서버는 저장 프로시저라는 코드 블록을 사용합니다. 한 번 컴파일되고 반복적으로 사용할 수 있는 미리 컴파일된 엔터티입니다.
일련의 SQL 문은 저장 프로시저를 사용하여 순차적으로 실행할 수 있습니다. 프로세스에 데이터를 제공하려면 프로시저 매개변수를 사용해야 합니다.
저장 프로시저는 매개변수 매핑 개념을 사용합니다. 프런트 엔드 및 프로시저 매개변수의 이름, 유형 및 방향은 일치해야 하고 프런트 엔드 매개변수 길이는 프로시저 매개변수 길이(매개변수만 매핑할 수 있음)보다 작거나 같아야 합니다.
return 문을 사용하여 프로시저에서 값을 반환합니다.
C#에서 저장 프로시저를 사용하는 이유
데이터베이스에서 데이터에 액세스하려면 일반적으로 select, insert 및 update와 같은 SQL 쿼리를 만듭니다. 동일한 쿼리를 자주 사용하는 경우 쿼리를 저장 프로시저로 변환하는 것이 좋습니다.
쿼리를 작성할 때마다 데이터베이스는 쿼리를 구문 분석합니다. 저장 프로시저를 만든 경우 한 번만 구문 분석된 후 N 번 실행할 수 있습니다.
저장된 루틴을 통해 성능을 향상시킬 수도 있습니다. 데이터베이스 서버의 단일 실행 블록인 저장 프로시저는 모든 조건부 논리를 포함합니다.
C#에서 매개변수를 사용하여 저장 프로시저 실행: 코드 예제
다음은 C#에서 매개변수를 사용하여 저장 프로시저를 실행하는 단계입니다.
-
가장 먼저 해야 할 일은 프로그램 바로 위에
using System.Data.SqlClient;및using System.Data;라이브러리를 추가하는 것입니다. 이를 통해 C# 프로그램에서 저장 프로시저를 만들 수 있습니다. -
아래 코드 예제에서는 데이터베이스의 경로를 문자열로 전달하여 저장 프로시저 생성을 시작합니다.
-
그런 다음
using()메서드를 사용하여Connection객체con을 만들고 내부에 경로 문자열을 전달했습니다. -
SqlCommand의 개체를 만들어야 합니다. 이 객체를 사용하여Connection과 같은 SQL 명령 속성을 활용할 수 있습니다. -
그런 다음 명령 유형을
StoredProcedure로 지정해야 합니다. -
매개변수가 있는 저장 프로시저를 생성하려면
SqlParameter라는 객체를 만들고 이 객체를 사용하여 전달하려는 매개변수의 이름, 데이터 유형 및 값을 정의해야 합니다. -
다음으로 해야 할 일은 방향을 제시하는 것입니다. 입력, 출력 또는 둘 다로 사용할 수 있습니다.
-
이제
AddWithValue()를 사용하여 이전에 생성한 매개변수 객체를 전달합니다. -
이 모든 작업은
try-catch블록 내에서 수행되어야 합니다.catch블록 내에서 잡아야 하는 데이터를 가져오는 동안 오류가 발생할 수 있습니다.
예제 코드:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
namespace Stored_procedure {
internal class Program {
static void Main(string[] args) {
// connection with sql
try {
// string for connection information
string con_str = "pass your connection path/information";
// create connection
using (SqlConnection con = new SqlConnection(con_str)) {
// create sqlcommand object
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Write the name of your stored prcedure";
cmd.Connection = con;
// specify the command type
cmd.CommandType = CommandType.StoredProcedure;
// create object of sqlparameter class
SqlParameter param = new SqlParameter {
// set the name of parameter
ParameterName = "Write your parameter name",
// set the type of parameter
SqlDbType = SqlDbType.Int, Value = 2,
// you can specify the direction of parameter input/output/inputoutput
Direction = ParameterDirection.InputOutput
};
// adding parameter in command
cmd.Parameters.AddWithValue(param);
// open connection of db
con.Open();
// executing the query
cmd.ExecuteNonQuery();
}
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}
}