티스토리 뷰
저장 프로시저(SP)
- 쿼리문을 여러 개 실행할 수 있다.
- 장점: 소스코드와 분리되어 쿼리 관리가 쉬워진다.
새 프로시저 생성
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date: 2024.01.28
-- Description: 신규 책 추가 프로시저
-- =============================================
CREATE PROCEDURE InsertBOOKS
-- 파라미터 : 프로시저를 호출함에 있어서 인자로 매개변수와 같은 역할을 하는 것임.
@BOOKNO varchar(20),
@BOOKNAME varchar(50),
@BOOKCODE varchar(50)
AS
BEGIN
-- 쿼리문 작성 영역
SET NOCOUNT ON; --반영된 행의 개수를 표시하지 않음. 쿼리 실행 속도를 높임.
INSERT INTO BOOKS
(
BOOKNO,
NAME,
CODE
)
VALUES
(
@BOOKNO,
@BOOKNAME,
@BOOKCODE
);
END
GO
private void button3_Click(object sender, EventArgs e)
{
string bookNo = textBox6.Text;
string bookName = textBox5.Text;
string bookCode = textBox7.Text;
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
//프로시저 연결
SqlCommand command = new SqlCommand("InsertBOOKS", conn);
//첫번째 인자는 프로시저명
//두번재 인자는 Connection
command.CommandType = CommandType.StoredProcedure;
//파라미터 추가
SqlParameter p1 = new SqlParameter("BOOKNO", SqlDbType.VarChar);
//첫번째 인자는 파라미터명
//두번재 인자는 파라미터타입
p1.Direction = ParameterDirection.Input; //입력 값을 넣기
p1.Value = bookNo;
//생성한 파라미터를 커멘드에 넣어주기
command.Parameters.Add(p1);
SqlParameter p2 = new SqlParameter("BOOKNAME", SqlDbType.VarChar);
p2.Direction = ParameterDirection.Input;
p2.Value = bookName;
command.Parameters.Add(p2);
SqlParameter p3 = new SqlParameter("BOOKCODE", SqlDbType.VarChar);
p3.Direction = ParameterDirection.Input;
p3.Value = bookCode;
command.Parameters.Add(p3);
//프로시저 실행
command.ExecuteNonQuery();
}
}
'2023~ > c#(.net framework)' 카테고리의 다른 글
C# 윈폼_응용프로그램 개발 14 (0) | 2024.01.28 |
---|---|
C# 윈폼_응용프로그램 개발 13 (0) | 2024.01.28 |
C# 윈폼_응용프로그램 개발 11 (0) | 2024.01.27 |
C# 윈폼_응용프로그램 개발 10 (0) | 2024.01.27 |
C# 윈폼_응용프로그램 개발 09 (0) | 2024.01.23 |