다음을 통해 공유


OdbcParameter 클래스

정의

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

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

예제

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

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

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OdbcType.Int).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 OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OdbcType.Int).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

설명

매개 변수 이름은 대/소문자를 구분하지 않습니다.

Microsoft OLE DB Provider for Oracle(MSDAORA) 및 ODBC .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 비교를 = 대신 사용합니다.

생성자

OdbcParameter()

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

OdbcParameter(String, Object)

매개 변수 이름과 OdbcParameter 개체를 사용하여 OdbcParameter 클래스의 새 인스턴스를 초기화합니다.

OdbcParameter(String, OdbcType)

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

OdbcParameter(String, OdbcType, Int32)

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

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

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

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

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

OdbcParameter(String, OdbcType, Int32, String)

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

속성

DbType

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

Direction

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

IsNullable

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

OdbcType

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

Offset

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

ParameterName

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

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()

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

ResetOdbcType()

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

ToString()

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

명시적 인터페이스 구현

ICloneable.Clone()

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

IDbDataParameter.Precision

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

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

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

(다음에서 상속됨 DbParameter)

적용 대상

추가 정보