OleDbParameter 클래스

정의

OleDbCommand 에 대한 매개 변수를 나타내고 필요에 따라 DataSet 열에 대한 매핑도 나타냅니다. 이 클래스는 상속될 수 없습니다.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface IDataParameter
    interface IDbDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
상속
OleDbParameter
상속
상속
OleDbParameter
특성
구현

예제

다음 예제에서는 내에서 컬렉션을 통해 OleDbParameterCollectionOleDbParameter 여러 인스턴스를 OleDbDataAdapter만듭니다. 이러한 매개 변수는 데이터 원본에서 데이터를 선택하고 에 데이터를 DataSet배치하는 데 사용됩니다. 이 예제에서는 DataSet 적절한 스키마, 명령 및 연결을 사용하여 및 OleDbDataAdapter 가 이미 생성되었다고 가정합니다.

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter =
            new OleDbDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OleDbType.Integer).Value = 239;

        // Open the connection and fill the DataSet.
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
    return dataSet;
}
Public Function GetDataSetFromAdapter( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OleDbType.Integer).Value = 239

        ' Open the connection and fill the DataSet.
        Try
            connection.Open()
            adapter.Fill(dataSet)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using

    Return dataSet
End Function

설명

OLE DB.NET Framework 데이터 공급자는 명명된 매개 변수 대신 물음표(?)로 표시된 위치 매개 변수를 사용합니다.

Microsoft OLE DB Provider for Oracle(MSDAORA) 및 OLE DB.NET Framework Data Provider를 사용하여 Oracle 데이터베이스를 쿼리할 때 절을 사용하여 LIKE 고정 길이 필드의 값을 쿼리하는 경우 예상되는 일치 항목이 모두 반환되지 않을 수 있습니다. 그 이유는 Oracle이 절의 LIKE 고정 길이 필드 값과 일치할 때 안쪽 여백 후행 공백을 포함하여 문자열의 전체 길이와 일치하기 때문입니다. 예를 들어 Oracle 데이터베이스의 테이블에 로 정의된 char(3)"Field1"이라는 필드가 포함되어 있고 해당 테이블의 행에 "a" 값을 입력하면 다음 코드에서 행을 반환하지 않습니다.

Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"  
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)  
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"  
Dim reader As OleDbDataReader = command.ExecuteReader()  
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?";  
OleDbCommand command = new OleDbCommand(queryString, connection);  
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";  
OleDbDataReader reader = command.ExecuteReader();  

이는 Oracle이 열 값을 "a"(후행 공백이 있는 "a"를 고정 필드 길이 3)로 저장하기 때문이며, Oracle은 고정 길이 필드를 비교하는 경우 LIKE "a"의 매개 변수 값과 일치하지 않습니다.

이 문제를 resolve 매개 변수 값"a%"()에 백분율("%") 와일드카드 문자를 추가하거나 SQL 비교를 = 대신 사용합니다.

생성자

OleDbParameter()

OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, Object)

매개 변수 이름과 새 OleDbParameter의 값을 사용하는 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, OleDbType)

매개 변수 이름과 데이터 형식을 사용하여 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, OleDbType, Int32)

매개 변수 이름, 데이터 형식 및 길이를 사용하여 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

매개 변수 이름, 데이터 형식, 길이, 소스 열 이름, 매개 변수 방향, 전체 자릿수 및 기타 속성을 사용하는 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

매개 변수 이름, 데이터 형식, 길이, 소스 열 이름, 매개 변수 방향, 전체 자릿수 및 기타 속성을 사용하는 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

OleDbParameter(String, OleDbType, Int32, String)

매개 변수 이름, 데이터 형식, 길이 및 소스 열 이름을 사용하는 OleDbParameter 클래스의 새 인스턴스를 초기화합니다.

속성

DbType

매개 변수의 DbType을 가져오거나 설정합니다.

Direction

매개 변수가 입력 전용, 출력 전용, 양방향 또는 저장 프로시저의 반환 값 매개 변수 중 어느 것인지를 나타내는 값을 가져오거나 설정합니다.

IsNullable

매개 변수에 null 값이 허용되는지 여부를 나타내는 값을 가져오거나 설정합니다.

OleDbType

매개 변수의 OleDbType을 가져오거나 설정합니다.

ParameterName

OleDbParameter의 이름을 가져오거나 설정합니다.

Precision

Value 속성을 나타내는 데 사용되는 최대 자릿수를 가져오거나 설정합니다.

Scale

Value가 확인되는 소수점 이하 자릿수를 가져오거나 설정합니다.

Size

열 내의 최대 데이터 크기(바이트)를 가져오거나 설정합니다.

SourceColumn

DataSet에 매핑되어 Value를 로드하거나 반환하기 위해 사용된 소스 열의 이름을 가져오거나 설정합니다.

SourceColumnNullMapping

소스 열에 null이 허용되는지 여부를 나타내는 값을 가져오거나 설정합니다. 이를 통해 DbCommandBuilder에서 null 허용 열에 대한 Update 문을 올바르게 생성할 수 있습니다.

SourceVersion

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

Value

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

메서드

CreateObjRef(Type)

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

(다음에서 상속됨 MarshalByRefObject)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

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

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ResetDbType()

OleDbParameter와 관련된 형식을 다시 설정합니다.

ResetOleDbType()

OleDbParameter와 관련된 형식을 다시 설정합니다.

ToString()

ParameterName이 포함된 문자열을 가져옵니다.

명시적 인터페이스 구현

ICloneable.Clone()

이 멤버에 대한 설명은 Clone()를 참조하세요.

IDbDataParameter.Precision

숫자 매개 변수의 정밀도를 나타냅니다.

(다음에서 상속됨 DbParameter)
IDbDataParameter.Scale

이 멤버에 대한 설명은 Scale를 참조하세요.

(다음에서 상속됨 DbParameter)

적용 대상

추가 정보