안녕하세요 마블랑입니다.
이번 포스팅은 C# 에서 데이터베이스에 이미 등록해놓은 프로시저(Procedure)를 실행하는 방법입니다.
C#에서 데이터베이스를 연동하는 방법은 이전에 포스팅으로 따로 정리를 해두었습니다.
데이터베이스 연동이나 쿼리 실행에 대해서 아직 모르는 분이 있을지 몰라 이전 데이터베이스 연동 포스팅의 링크를 걸어두었습니다~
2020/06/24 - [개발 이야기/C# 이야기] - C# Mssql 연동하기
그리고 C#에서는 가비지 컬렉터(GC)가 알아서 메모리 관리를 해주지만 어느정도는 사용자가 구현을 해야하는게 좋을것같아 역시 지난번엔 포스팅한 using 구문을 이용해서 샘플코드를 작성해 보았습니다.
using 구문 포스팅도 잘 활용해 주세요~
2020/06/19 - [개발 이야기/C# 이야기] - C# using으로 메모리 관리
그림 이제 본론으로 C# 에서 데이터베이스에 이미 등록된 프로시저를 실행하는 방법에 대해서 알아보겠습니다.
바로 코드를 참고해주시면 됩니다.
using (SqlConnection con = new SqlConnection("Server=127.0.0.1; Database=TestMarblang; uid=Marblang; pwd=Marblang000"))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("PROCEDURE_TEST", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FIRST_ARGU", "FIRST VALUE");
cmd.Parameters.AddWithValue("@SECOND_ARGU", "SECOND VALUE");
cmd.Parameters.AddWithValue("@THIRD_ARGU", "THIRD VALUE");
int result = cmd.ExecuteNonQuery();
Console.WriteLine("반영된 열의 개수 " + result);
}
con.Close();
con.Dispose();
}
위 코드를 보면 대체로 Insert 문이나 Update 문을 실행하는 것과 비슷합니다.
한가지 차이점이라고 한다면 SqlCommand.CommandType 을 프로시저라고 명시를 해줘야 합니다.
아마도 지금 매개변수로 넣은 쿼리문이 프로시저이다 라는것을 알려주기 위함 같습니다.
프로시저에 매개변수를 넣어주려면
cmd.Parameters.AddWithValue("@FIRST_ARGU", "FIRST VALUE");
cmd.Parameters.AddWithValue("@SECOND_ARGU", "SECOND VALUE");
cmd.Parameters.AddWithValue("@THIRD_ARGU", "THIRD VALUE");
이렇게 넣어주면 됩니다.
물론 첫번째 매개변수는 프로시저 안에서 명시된 매개변수 명입니다. 오타 없이 맞게 매개변수를 넣어주세요
이제 프로시저를 실행하는 일만 남았는데요
Insert문이나 Update문과 같이 ExecuteNonQuery()를 실행하면 됩니다.
int result = cmd.ExecuteNonQuery();
리턴값으로 나오는 정수형은 변경이 있는 행의 갯수이니 맞게 변경이 되었는지 확인용으로 쓰면 될것같습니다.
이상 마블랑이었습니다.
읽어주어서 고맙습니다.
'개발 이야기 > C# 이야기' 카테고리의 다른 글
C# WPF 다른버튼 클릭하기 (0) | 2020.07.21 |
---|---|
C# WPF 클릭위치 구하기 (0) | 2020.06.29 |
C# Mssql 연동하기 (0) | 2020.06.24 |
C# WPF 사용자 컨트롤 Xaml에 추가하기 (0) | 2020.06.23 |
C# WPF 투명 GIF 이미지 띄우기 (0) | 2020.06.22 |
댓글