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 | 단일 |
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
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기