데이터 세트는 데이터 원본과 독립적으로 일관된 관계형 프로그래밍 모델을 제공하는 데이터의 메모리 상주 표현입니다. 데이터 세트는 테이블, 제약 조건 및 테이블 간의 관계를 포함한 전체 데이터 집합을 나타냅니다. 데이터 세트는 데이터 원본과 독립적이므로 데이터 세트에는 애플리케이션에 대한 로컬 데이터와 여러 데이터 원본의 데이터가 포함될 수 있습니다. 기존 데이터 원본과의 상호 작용은 개체를 DataAdapter
통해 제어됩니다.
이 HostfileDataAdapter.SelectCommand
속성은 HostFileCommand
데이터 원본에서 데이터를 검색하는 개체입니다. 이 HostFileDataAdapter.Fill
메서드는 데이터 세트를 .의 SelectCommand
결과로 채우는 데 사용됩니다.
Fill
개체, 그리고 채워질 DataTable
의 이름 또는 DataTable
개체를 인수로 사용하여, SelectCommand
에서 반환된 행으로 채워집니다.
이 메서드는 Fill
개체를 HostFileDataReader
암시적으로 사용하여 개체에서 테이블을 DataSet
만드는 데 사용되는 열 이름과 형식을 반환하고 개체의 테이블 DataSet
행을 채우는 데이터도 반환합니다. 테이블 및 열은 아직 없는 경우에만 만들어집니다. 그렇지 않으면 Fill
기존 스키마를 DataSet
사용합니다. 기본 키는 데이터 원본에 있으며 HostFileDataAdapter.MissingSchemaAction
가 MissingSchemaAction.AddWithKey
으로 설정된 경우에만 생성됩니다. 테이블에 기본 키가 있는 경우, Fill
는 데이터 소스에서 반환된 행 중 기본 키 열 값이 일치하는 행의 데이터를 DataSet
객체의 데이터로 덮어씁니다. 기본 키를 찾을 수 없으면 데이터가 개체의 테이블에 DataSet
추가됩니다.
Fill
는 DataSet
개체를 채울 때 존재할 수 있는 모든 매핑을 사용합니다.
HostFileDataAdapter
가 여러 결과 집합을 발견하면 DataSet
개체에 여러 개의 테이블을 만듭니다. 테이블에는 Table0의 "Table"부터 TableN의 증분 기본 이름이 지정됩니다. 테이블 이름이 메서드에 Fill
인수로 전달되면 테이블 이름에 TableName0의 "TableName"부터 시작하여 TableNameN의 증분 기본 이름이 지정됩니다.
DataSet
개체와 함께 원하는 수의 HostFileDataAdapter
개체를 사용할 수 있습니다. 각 DataAdapter
개체를 사용하여 하나 이상의 DataTable
개체를 채우고 관련 데이터 원본에 대한 업데이트를 다시 확인할 수 있습니다. 로컬에서 DataRelation
및 Constraint
개체를 DataSet
에 추가하여 서로 다른 데이터 원본의 데이터를 연결할 수 있습니다. 하나 이상의 DataAdapter
개체가 각 데이터 원본에 대한 통신을 처리할 수 있습니다.
데이터 어댑터에서 호스트 파일 데이터 세트를 채웁니다.
를 사용하여
HostFileConnection
데이터 원본에 대한 새 연결을 만듭니다.를 사용하여
HostFileConnection.Open
연결을 엽니다.를 사용하여 검색할 데이터를 설명하는 SELECT 명령을 만듭니다
HostFileCommand
.HostFileConnection
를 사용하여 저장된 데이터와 상호 작용하는HostFileDataAdapter
를 생성합니다.데이터를 로컬로
DataSet
저장할 개체를 만듭니다.HostFileDataAdapter
를 통해DataSet
개체와Fill
명령을 사용하여 데이터를 검색합니다.
예시
다음 코드 예제에서는 을 통해 데이터 세트를 채우는 방법을 보여 줍니다 HostFileDataAdapter
. 이 예제에서 ETCMLogging 및 HostFileUtils 개체는 각각 로깅 및 유틸리티 기능을 제공합니다.
public void HFDAdapterCommandConstructor(ETCMLogging.Logging logging, string host, string ccsid, string cnstring, HostFileUtils.Utils.HostFileType hostfiletype)
{
HostFileUtils.Utils u = new HostFileUtils.Utils();
logging.LogInfo(host + "::" + hostfiletype.ToString());
HostFileUtils.Utils.MytestsVals[] Datavals = u.InitMytestsVals();
try
{
HostFileConnection cn = new HostFileConnection(cnstring);
cn.Open();
String SELECT = u.CreateSQLCommand(host, hostfiletype, cnstring, "SELECT", "MYTEST");
HostFileCommand hfc = new HostFileCommand(SELECT, cn);
HostFileDataAdapter hfda = new HostFileDataAdapter(hfc);
DataSet ds = new DataSet();
hfda.Fill(ds);
int[] cp = u.CheckColumns(SELECT, cn, logging);
u.ValidateDataSet(ds, logging, Datavals, cp);
cn.Close();
}
catch (Exception e)
{
logging.LogInfo(e.Message);
logging.LogFail(e.StackTrace);
}
}
이 코드 예제 HostFileUtils
에서는 개체와 매개 변수를 cnstring
ccsid
사용하여 관련 정보를 사용하여 테스트 SQL 명령을 빠르게 만들 수 있습니다.