SqlParameter 클래스 사용 예
이번에는 SqlParameter 를 사용하는 구체적인 예를 살펴봅시다.
SqlCommand 개체를 사용하는 예제 코드에서는 매개 변수를 사용하지 않아 정적인 쿼리문을 사용하는 예를 보여드렸습니다.
이번에는 매개 변수를 이용하는 예를 들어보기로 합시다.
추가할 책의 정보를 입력 인자로 받아 책을 추가하는 메서드를 만들어 사용하기로 합시다.
static void Main(string[] args)
{
AddBook("XML.NET", 15000, "홍길동", "9224764583");
AddBook("CSharp" , 18000, "홍길동", "9228964583");
}
private static void AddBook(string title, int price, string author, string isbn)
{
//to be defined
}
책을 추가하는 SQL문을 매개 변수를 이용하여 표현합니다.
string comtext = "insert into Books values (@Title, @Price,@Author,@ISBN)";
입력 인자로 받은 것을 값으로 하는 SqlParameter 개체를 생성하여 SqlCommand 개체에 추가하는 로직이 필요합니다.
다음은 매개 변수 이름과 값을 생성자에 전달하여 SqlParameter 개체를 생성한 예입니다.
SqlParameter param_title = new SqlParameter("@Title", title);
command.Parameters.Add(param_title);
다음은 SqlParameter 개체를 생성한 후에 매개 변수 이름, 타입, 값을 설정하는 예입니다.
SqlParameter param_price = new SqlParameter();
param_price.ParameterName = "@Price";
param_price.SqlDbType = System.Data.SqlDbType.Int;
param_price.Value = price;
command.Parameters.Add(param_price);
static void Main(string[] args) { AddBook("XML.NET", 15000, "홍길동", "9224764583"); AddBook("CSharp" , 18000, "홍길동", "9228964583"); } private static void AddBook(string title, int price, string author, string isbn) { string comtext = "insert into Books values (@Title, @Price,@Author,@ISBN)"; string constr = @"Data Source=[서버 이름];Initial Catalog=[DB 명]; User ID=[ID];Password=[PW]"; SqlConnection scon = new SqlConnection(constr); SqlCommand command = new SqlCommand(comtext, scon);
SqlParameter param_title = new SqlParameter("@Title", title); command.Parameters.Add(param_title); SqlParameter param_price = new SqlParameter(); param_price.ParameterName = "@Price"; param_price.SqlDbType = System.Data.SqlDbType.Int; param_price.Value = price; command.Parameters.Add(param_price); SqlParameter param_author = new SqlParameter("@Author", author); command.Parameters.Add(param_author); SqlParameter param_isbn = new SqlParameter("@ISBN", isbn); command.Parameters.Add(param_isbn);
scon.Open(); if (command.ExecuteNonQuery() == 1) { Console.WriteLine("{0} 추가 성공", title); } else { Console.WriteLine("{0} 추가 실패", title); } scon.Close(); } |
[소스] SqlParameter를 이용한 도서 추가 예제 코드
'프로그래밍 기술 > SQL과 ADO.NET' 카테고리의 다른 글
[ADO.NET] DataTable 개체에 행 추가 (0) | 2016.04.22 |
---|---|
[ADO.NET] DataTable 클래스 개체 생성과 테이블 구조 설계 (0) | 2016.04.22 |
[MSSQL] 저장 프로시저 만들기 실습 (0) | 2016.04.22 |
서버 탐색기를 이용하여 SQL 저장 프로시저 사용하기 (0) | 2016.04.22 |
[ADO.NET] SqlParameter 사용 예 - 저장 프로시저를 이용하여 도서 추가 (0) | 2016.04.22 |
[ADO.NET] SqlParameter 클래스 생성자, 속성 (0) | 2016.04.22 |
[ADO.NET] SqlCommand 클래스의 ExecuteNonQuery , ExecuteReader 메서드 (0) | 2016.04.22 |
[ADO.NET] SqlCommand 생성자, 속성 (0) | 2016.04.22 |
[ADO.NET] SqlCommand 클래스 개요 (0) | 2016.04.22 |
[ADO.NET] SqlConnection 클래스 속성과 메서드 (0) | 2016.04.22 |