다음을 통해 공유


OdbcDataAdapter 클래스

DataSet을 채우고 데이터 소스를 업데이트하는 데 사용되는 데이터 명령 집합 및 데이터 소스에 대한 연결을 나타냅니다. 이 클래스는 상속될 수 없습니다.

네임스페이스: System.Data.Odbc
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public NotInheritable Class OdbcDataAdapter
    Inherits DbDataAdapter
    Implements IDbDataAdapter, IDataAdapter, ICloneable
‘사용 방법
Dim instance As OdbcDataAdapter
public sealed class OdbcDataAdapter : DbDataAdapter, IDbDataAdapter, IDataAdapter, ICloneable
public ref class OdbcDataAdapter sealed : public DbDataAdapter, IDbDataAdapter, IDataAdapter, ICloneable
public final class OdbcDataAdapter extends DbDataAdapter implements IDbDataAdapter, IDataAdapter, 
    ICloneable
public final class OdbcDataAdapter extends DbDataAdapter implements IDbDataAdapter, IDataAdapter, 
    ICloneable

설명

OdbcDataAdapter는 데이터를 검색하고 저장하기 위해 DataSet과 데이터 소스 사이를 연결합니다. OdbcDataAdapter는 데이터 소스에서 데이터를 DataSet에 로드하는 Fill를 사용하고, DataSet에서 한 변경을 데이터 소스에 다시 보내는 Update을 사용하여 이 연결을 제공합니다.

OdbcDataAdapterDataSet을 채울 때, 반환된 데이터용으로 필요한 테이블과 열이 없으면 이를 만듭니다. 그러나 MissingSchemaAction 속성이 AddWithKey로 설정되지 않은 경우 기본 키 정보는 암시적으로 만들어진 스키마에 포함되지 않습니다. FillSchema를 사용하여 이를 데이터로 채우기 전에 OdbcDataAdapter가 기본 키 정보를 포함하는 DataSet의 스키마를 만들도록 할 수 있습니다. 자세한 내용은 DataSet에 기존 제약 조건 추가을 참조하십시오.

참고

기본 키 열이 없는 데이터 소스에서 Fill 메서드를 호출하면 OdbcDataAdapter는 UNIQUE 제약 조건 열의 수준을 기본 키로 올리려고 합니다. 프로세스를 진행하는 동안 OdbcDataAdapter는 고유 제약 조건을 null이 아닌 것으로 표시합니다. 이 동작은 고유 제약 조건 열에 null 값이 없는 경우 수행됩니다. null 값이 있으면 Fill 메서드는 제약 조건 위반으로 인해 실패합니다. 이러한 문제가 발생하지 않도록 하려면 고유 제약 조건 열에 null 값을 사용하지 마십시오.

참고

네이티브 ODBC 드라이버의 제한으로 인해 FillSchema를 호출하면 하나의 DataTable만 반환됩니다. 여러 DataTable 개체가 있을 수 있는 SQL 배치 문을 실행하는 경우에도 마찬가지입니다.

OdbcDataAdapter에는 SelectCommand, InsertCommand, DeleteCommand, UpdateCommandTableMappings 속성도 포함되어 데이터를 쉽게 로드하고 업데이트할 수 있습니다.

예제

다음 예제에서는 OdbcCommand, OdbcDataAdapterOdbcConnection을 사용하여 레코드를 선택하고 선택한 행으로 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)

        ' 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
public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OdbcConnection connection = 
               new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = 
            new OdbcDataAdapter(queryString, connection);

        // 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;
}

상속 계층 구조

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DataAdapter
         System.Data.Common.DbDataAdapter
          System.Data.Odbc.OdbcDataAdapter

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1에서 지원

참고 항목

참조

OdbcDataAdapter 멤버
System.Data.Odbc 네임스페이스

기타 리소스

DataAdapter 사용