1. SqlParameter 클래스란?

 

SqlParameter 클래스는 SqlCommand에 대한 매개변수와 관련된 클래스이다. 매개변수를 설정하고 이용하고 매개변수를 통해 값을 전달하는 등의 모든 처리를 하는 클래스라고 할 수 있다. 또한 SqlParameter 클래스는 DataSet 열에 맵핑을 하는 경우에도 이용된다.

 

- 임시쿼리에서 매개변수

 

Select type, title from titles where type=@type

 

- 저장 프로시저에서의 매개변수

 

Create proc myproc

@type varchar(20)

As

  Select type, title from titles where type=@type

 

 

2. SqlParameter 클래스의 속성

 

- SqlParameter 클래스의 Public 속성

 

속성명

설명

DbType

매개변수의 DbType을 설정하거나 가져온다.

Direction

매개변수의 입력 전용, 출력 전용, 양방향용 또는 Return 값을 받기 위한 용도인지에 대해 설정하거나 가져온다.

IsNullable

매개변수가 Null값을 허용하는지 여부를 가져오거나 설정한다.

Offset

Value 속성에 대한 오프셋을 설정하거나 가져온다.

ParameterName

SqlParameter의 이름을 가져오거나 설정한다.

Precision

Value 속성에 대한 최대 자릿수를 가져오거나 설정한다.

Scale

Value 속성의 소수 자릿수의 수를 가져오거나 설정한다.

Size

열 내부의 데이터 최대 크기를 바이트 단위로 가져오거나 설정한다.

SourceColumn

데이터 셋에 맵핑되고 Value를 로드하거나 반환하는 소스 열의 이름을 가져오거나 설정한다.

sourceVersion

Value를 로드할 때 사용할 DataRowVersion을 가져오거나 설정한다.

SqlDbType

매개변수의 SqlDbType을 가져오거나 설정한다.

Value

매개변수의 값을 가져오거나 설정한다.

l  DbType 속성

 

매개변수의 DbType을 가져오거나 설정한다. 기본 값은 문자열형이다.

 

Public DbType DbType { get; set; }

 

DbType이 유효하지 않은 DbType으로 설정된 경우에는 구문 범위에서 벗어났다는 의미의 ArgumentOutOfRangeException 예외가 발생한다.

 

l  Direction 속성

 

Direction 속성은 매개변수가 입력 전용, 출력 전용, 양방향 또는 저장 프로시저 반환 값 매개변수인지를 구분하는 ParameterDirection 값을 가져오거나 설정한다.

 

public ParameterDirection Direction { get; set; }

 

Direction 속성은 ParameterDirection 값 중의 하나로 설정되어야 한다. ParameterDirection에는 아래와 같이 4개가 있는데 이 중에 속해있지 않은 값으로 설정된 경우에는 ArgumentException 예외가 발생한다.

 

- Direction 속성 구분

Direction

설명

Input

입력 매개변수

InputOutput

입력 출력에 동시에 사용되는 매개변수

Output

출력 매개변수

ReturnValue

저장 프로시저, 기본 제공 함수, 사용자 정의 함수 등과 같은 연산에서의 Return

l  IsNullable 속성

 

자료형에 맞는 값을 매개변수가 받아서 넘겨주어야 한다. 이때 DB에서 허용된 경우라면 Null값을 입력할 수 있게 되어 있다. IsNullable속성은 매개변수가 Null 값을 허용하는지 여부를 나타내주는 속성이다. 기본 값은 false , null값이 허용되지 않은 것으로 설정되어 있다.

 

Public bool IsNullable { get; set; }

 

l  Offset, ParameterName 속성

 

Offset 속성은 Value 속성에 대한 오프셋을 가져오거나 설정한다. Offset 속성의 기본 값은 0이다. Offset 속성은 이진 및 문자열 형식에서 사용된다. 이진 형식의 바이트 수와 문자열의 문자 수를 반환하는 역할을 한다.

 

Public int Offset { get; set; }

 

ParameterName SqlParameter의 이름을 가져오거나 설정한다. ParameterName을 지정할 때는 @paramname 형태로 지정한다. 매개변수를 사용하는 SqlCommand를 실행하기 전에 ParameterName을 설정해야 한다. ParameterDirection ReturnValue인 경우에는 특별히 ParameterName이 지정되지 않는다. 이는 returnValue가 설정된 경우에는 특별히 이름이 지정되지 않기 때문이다.

 

Public string ParameterName { get; set; }

 

 

l  Precision, Scale 속성

 

Precision 속성 소수점을 가지고 있는 수의 최대 범위를 지정하기 위한 값이다. 소수점을 가진 숫자를 많이 다룰 때 Precision 속성을 설정하는 것이 효율적인 처리를 할 수 있다. SqlParameter 클래스의 Precision 속성은 Decimal SqlDbType을 갖고 있는 매개변수에서 사용되며 기본값은 0이다. Precision은 최대 자리수를 보여주거나 설정하는 역할을 한다. 소수점 아래 숫자가 있는 경우에는 이 소수점 아래의 숫자의 자리수까지 최대 자리수에 포함된다.

 

Public byte Precision { get; set; }

 

Scale 속성은 소수 자리수를 가져오거나 설정하는 속성이다. Scale속성도Precision 속성과 같이 Decimal SqlDbType을 갖고 잇는 매개변수에서 사용된다.

Public byte Scale { get; set; }

 

 

l  Size 속성

 

Size 속성을 이용하면 열 내부에 잇는 데이터의 최대 크기를 바이트 단위로 가져오거나 설정할 수 있다. 입력되는 데이터의 최대 크기를 제한하고자 할 때 사용할 수 있다. Size속성은 이진 및 문자열 형식에서 사용된다. varChar 형과 같은 가변길이의 데이터 형식의 경우의 Size 속성은 서버에 전송할 데이터의 최대 크기를 의미한다. Size값을 50으로 설정하면 문자열 값의 서버로 보낼 때 데이터의 크기를 첫 번째 50바이트로 제한할 수 있다. 문자열이 안니 데이터 형식과 ANSI 문자열 데이터 및 Size값은 바이트 수를 말하고 유니코드 문자열 데이터에서는 Size속성 값이 문자 수를 의미하게 된다. Char 형과 같은 고정폭 데이터 형식의 경우에는 Size속성은 적용되지 않는다.

 

Public int Size { get; set; }

 

l  SourceColumn, SourceVersion 속성

 

SourceColumn 속성은 데이터 셋에 맵핑되고 Value 값을 로드하거나 반환하는 소스의 열의 이름을 보여주거나 설정하는 역할을 한다.

 

Public string SourceColumn { get; set; }

 

SourceVersion 속성은 원래 또는 현재 값이 매개변수 값으로 사용되는지 여부를 결정하기 위해 업데이트 중에 단지 수정되는 경우에만 적용이 되므로 UpdateCommand에서만 사용된다. InsertCommand DeleteCommand에서는 적용되지 않는다.

 

Public DatarowVersion SourceVersion { get; set; }

 

 

l  SqlDbType, Value 속성

 

SqlDbType속성은 매개변수의 SqlDbType을 가져오거나 설정하며 기본값은 NVarChar형이다. SqldbType 속성은 DbType과 연결되어 있다. DbType을 설정하면 SqlDbType SqlDbType을 지원하도록 변경한다.

 

Public SqlDbType SqlDbType { get; set; }

 

Value 속성은 흔히 사용되는 속성으로서 매개변수의 값을 가져오거나 설정한다.

 

Public object Value { get; set; }

 

 

 

3. SqlParameter 클래스의 메소드

 

l  SqlParameter public 메소드

 

메소드

설명

CreateObjRef (MarshalByrefobject에서 상속)

원격 개체와 통신하는데 사용되는 프록시 생성에 필요한 정보가 들어있는 개체를 생성한다.

Equals (오브젝트에서 상속)

두 개의 오브젝트가 같은지 여부를 확인다.

GetHashCode

(오브젝트에서 상속)

특성 형식에 해시 함수로 사용되는 해시 코드를 생성한다.

GetLifeTimeservice

(MarshalByRefObject에서 상속)

인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색한다.

GetType(오브젝트에서 상속)

현재 인스턴스의 타입을 가져온다.

InitializeLifetimeService (MarshalByRefObject에서 상속)

인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져온다.

ToString

parameterName을 포함한 문자열을 가져온다.

 

l  SqlParameter Protected 메소드

 

메소드

설명

Finalize (오브젝트에서 상속)

가비지 수집기에서 오브젝트가 리소스를 해제한다.

memberwiseClone (오브젝트에서 상속)

오브젝트의 단순 복사본을 생성한다.

 

 


'COMPUTER TECH > C# 실전자료' 카테고리의 다른 글

Ajax Control Toolkit  (0) 2010.08.13
비동기 소켓 프로그래밍 (C#)  (0) 2010.08.13
SqlParameter  (0) 2010.08.13
Http method – get, post  (1) 2010.08.13
DataBase에 이미지 저장 / 불러오기  (0) 2010.08.13
XML 이란???  (0) 2010.08.13
Posted by ... XJAPAN
이전버튼 1 2 3 4 5 6 7 8 9 ··· 102 이전버튼