CDaoFieldInfo 구조체
구조체에는 CDaoFieldInfo
DAO(데이터 액세스 개체)에 대해 정의된 필드 개체에 대한 정보가 포함됩니다.
참고 항목
DAO는 Office 2013까지 지원됩니다. DAO 3.6은 최종 버전이며 사용되지 않는 것으로 간주됩니다.
구문
struct CDaoFieldInfo
{
CString m_strName; // Primary
short m_nType; // Primary
long m_lSize; // Primary
long m_lAttributes; // Primary
short m_nOrdinalPosition; // Secondary
BOOL m_bRequired; // Secondary
BOOL m_bAllowZeroLength; // Secondary
long m_lCollatingOrder; // Secondary
CString m_strForeignName; // Secondary
CString m_strSourceField; // Secondary
CString m_strSourceTable; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
CString m_strDefaultValue; // All
};
매개 변수
m_strName
필드 개체의 이름을 고유하게 지정합니다. 자세한 내용은 DAO 도움말의 “이름 속성” 항목을 참조하세요.
m_nType
필드의 데이터 형식을 나타내는 값입니다. 자세한 내용은 DAO 도움말의 "Type 속성" 항목을 참조하세요. 이 속성의 값은 다음 중 하나일 수 있습니다.
dbBoolean
예/아니요, TRUE/FALSE와 동일dbByte
바이트dbInteger
짧은dbLong
오래dbCurrency
통화; MFC 클래스 COleCurrency 참조dbSingle
싱글dbDouble
배dbDate
날짜/시간; MFC 클래스 COleDateTime 참조dbText
문자 메시지; MFC 클래스 CString 참조dbLongBinary
Long Binary (OLE 개체);CByteArray
보다 풍부하고 사용하기 쉬운CLongBinary
클래스 대신 MFC 클래스 CByteArray를 사용하는 것이 좋습니다.dbMemo
메모; MFC 클래스 참조CString
dbGUID
원격 프로시저 호출에 사용되는 전역 고유 식별자/범용 고유 식별자입니다. 자세한 내용은 DAO 도움말의 "Type 속성" 항목을 참조하세요.
참고 항목
이진 데이터에 문자열 데이터 형식을 사용하지 마세요. 이로 인해 데이터가 유니코드/ANSI 변환 계층을 통과하여 오버헤드가 증가하고 예기치 않은 변환이 발생할 수 있습니다.
m_lSize
텍스트 또는 숫자 값이 포함된 필드 개체의 고정 크기 또는 텍스트를 포함하는 DAO 필드 개체의 최대 크기(바이트)를 나타내는 값입니다. 자세한 내용은 DAO 도움말의 "Size 속성" 항목을 참조하세요. 크기는 다음 값 중 하나일 수 있습니다.
Type | 크기(바이트) | 설명 |
---|---|---|
dbBoolean |
1바이트 | 예/아니요(True/False와 동일) |
dbByte |
1 | Byte |
dbInteger |
2 | 정수 |
dbLong |
4 | Long |
dbCurrency |
8 | 통화(COleCurrency) |
dbSingle |
4 | Single |
dbDouble |
8 | 두 배 |
dbDate |
8 | 날짜/시간(COleDateTime) |
dbText |
1 - 255 | 텍스트(CString) |
dbLongBinary |
0 | Long Binary(OLE 개체; CByteArray; 대신 CLongBinary 사용 ) |
dbMemo |
0 | 메모(CString) |
dbGUID |
16 | 원격 프로시저 호출에 사용되는 전역 고유 식별자/범용 고유 식별자입니다. |
m_lAttributes
tabledef, recordset, querydef 또는 인덱스 개체에 포함된 필드 개체의 특성을 지정합니다. 반환되는 값은 C++ 비트 OR(|
) 연산자를 사용하여 만든 이러한 상수의 합계일 수 있습니다.
dbFixedField
필드 크기가 고정되어 있습니다(숫자 필드의 경우 기본값).dbVariableField
필드 크기는 변수입니다(텍스트 필드만 해당).dbAutoIncrField
새 레코드의 필드 값은 변경할 수 없는 고유한 long 정수로 자동으로 증가합니다. Microsoft Jet 데이터베이스 테이블에 대해서만 지원됩니다.dbUpdatableField
필드 값을 변경할 수 있습니다.dbDescending
필드는 내림차순(Z - A 또는 100 - 0) 순서로 정렬됩니다(인덱스 개체의 Fields 컬렉션에 있는 필드 개체에만 적용되며 MFC에서는 인덱스 개체 자체가 tabledef 개체에 포함됨). 이 상수는 생략하면 필드가 오름차순(A - Z 또는 0 - 100) 순서(기본값)로 정렬됩니다.
이 속성의 설정을 확인할 때 C++ 비트 AND 연산자(&
)를 사용하여 특정 특성을 테스트할 수 있습니다. 여러 특성을 설정할 때 적절한 상수와 비트 OR(|
) 연산자를 결합하여 결합할 수 있습니다. 자세한 내용은 DAO 도움말의 "특성 속성" 항목을 참조하세요.
m_nOrdinalPosition
DAO 필드 개체가 나타내는 필드를 다른 필드를 기준으로 표시할 숫자 순서를 지정하는 값입니다. CDaoTableDef::CreateField를 사용하여 이 속성을 설정할 수 있습니다. 자세한 내용은 DAO 도움말의 "OrdinalPosition 속성" 항목을 참조하세요.
m_bRequired
DAO 필드 개체에 Null이 아닌 값이 필요한지 여부를 나타냅니다. 이 속성이 TRUE이면 필드에 Null 값이 허용되지 않습니다. Required가 FALSE로 설정된 경우 필드에는 AllowZeroLength 및 ValidationRule 속성 설정에 지정된 조건을 충족하는 값뿐만 아니라 Null 값도 포함될 수 있습니다. 자세한 내용은 DAO 도움말의 "필수 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_bAllowZeroLength
빈 문자열("")이 텍스트 또는 메모 데이터 형식이 있는 DAO 필드 개체의 유효한 값인지 여부를 나타냅니다. 이 속성이 TRUE이면 빈 문자열이 유효한 값입니다. 빈 문자열을 사용하여 필드 값을 설정할 수 없도록 이 속성을 FALSE로 설정할 수 있습니다. 자세한 내용은 DAO 도움말의 "AllowZeroLength 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_lCollatingOrder
문자열 비교 또는 정렬을 위해 텍스트에서 정렬 순서의 시퀀스를 지정합니다. 자세한 내용은 DAO 도움말의 "데이터 액세스에 대한 Windows 레지스트리 설정 사용자 지정" 항목을 참조하세요. 반환 가능한 값 목록은 CDaoDatabaseInfo 구조체의 멤버를 참조 m_lCollatingOrder
하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_strForeignName
관계형에서 기본 테이블의 필드에 해당하는 외래 테이블의 DAO 필드 개체 이름을 지정하는 값입니다. 자세한 내용은 DAO 도움말의 "ForeignName 속성" 항목을 참조하세요.
m_strSourceField
tabledef, recordset 또는 querydef 개체에 포함된 DAO 필드 개체에 대한 데이터의 원래 원본인 필드의 이름을 나타냅니다. 이 속성은 필드 개체와 연결된 원래 필드 이름을 나타냅니다. 예를 들어 이 속성을 사용하여 기본 테이블의 필드 이름과 이름이 관련이 없는 쿼리 필드의 데이터 원본을 확인할 수 있습니다. 자세한 내용은 DAO 도움말의 "SourceField, SourceTable 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_strSourceTable
tabledef, recordset 또는 querydef 개체에 포함된 DAO 필드 개체에 대한 데이터의 원래 원본인 테이블의 이름을 나타냅니다. 이 속성은 필드 개체와 연결된 원래 테이블 이름을 나타냅니다. 예를 들어 이 속성을 사용하여 기본 테이블의 필드 이름과 이름이 관련이 없는 쿼리 필드의 데이터 원본을 확인할 수 있습니다. 자세한 내용은 DAO 도움말의 "SourceField, SourceTable 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_strValidationRule
테이블이 변경되거나 테이블에 추가될 때 필드의 데이터의 유효성을 검사하는 값입니다. 자세한 내용은 DAO 도움말의 "ValidationRule 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
tabledefs에 대한 관련 정보는 CDaoTableDefInfo 구조체의 멤버를 참조 m_strValidationRule
하세요.
m_strValidationText
DAO 필드 개체의 값이 ValidationRule 속성 설정에 지정된 유효성 검사 규칙을 충족하지 않는 경우 애플리케이션에서 표시하는 메시지의 텍스트를 지정하는 값입니다. 자세한 내용은 DAO 도움말의 "ValidationText 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
m_strDefaultValue
DAO 필드 개체의 기본값입니다. 새 레코드를 만들면 DefaultValue 속성 설정이 자동으로 필드 값으로 입력됩니다. 자세한 내용은 DAO 도움말의 "DefaultValue 속성" 항목을 참조하세요. CDaoTableDef::CreateField를 사용하여 tabledef에 대해 이 속성을 설정할 수 있습니다.
설명
위의 기본, 보조 및 모두에 대한 참조는 CDaoTableDef, CDaoQueryDef 및 CDaoRecordset 클래스의 멤버 함수에서 정보를 반환 GetFieldInfo
하는 방법을 나타냅니다.
필드 개체는 MFC 클래스로 표현되지 않습니다. 대신, 다음 클래스의 기본 MFC 개체인 DAO 개체에는 CDaoTableDef, CDaoRecordset 및 CDaoQueryDef 필드 개체의 컬렉션이 포함됩니다. 이러한 클래스는 필드 정보의 일부 개별 항목에 액세스하기 위해 멤버 함수를 제공하거나 포함하는 개체의 멤버 함수를 호출 GetFieldInfo
하여 개체를 사용하여 CDaoFieldInfo
한 번에 모두 액세스할 수 있습니다.
개체 속성을 검사하는 데 사용하는 것 외에도 tabledef에서 새 필드를 만들기 위한 입력 매개 변수를 생성하는 데 사용할 CDaoFieldInfo
수도 있습니다. 이 작업에 더 간단한 옵션을 사용할 수 있지만 더 세부적인 제어를 원하는 경우 매개 변수를 사용하는 CDaoFieldInfo
CDaoTableDef::CreateField 버전을 사용할 수 있습니다.
멤버 함수(필드가 포함된 클래스의)에서 검색 GetFieldInfo
한 정보는 구조체에 CDaoFieldInfo
저장됩니다. GetFieldInfo
Fields 컬렉션에 필드 개체가 저장되어 있는 포함하는 개체의 멤버 함수를 호출합니다. CDaoFieldInfo
도 디버그 빌드에서 Dump
멤버 함수를 정의합니다. Dump
를 사용하여 CDaoFieldInfo
개체의 콘텐츠를 덤프할 수 있습니다.
요구 사항
머리글: afxdao.h
참고 항목
구조체, 스타일, 콜백 및 메시지 맵
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo