setting up an in-memory dataset with TClientDataset,에 대해 물어 보았고 양식 디자이너에서 "데이터 세트 작성"명령을 사용해야한다고 들었습니다. 그것은 마스터 - 디테일 데이터베이스 관계를 만들려고 시도하기 전까지는 잘 작동합니다. ftDataSet 유형의 필드 def가있는 경우 Create Data Set 명령을 실행하거나 런타임에 메서드를 호출하면 "잘못된 필드 유형"오류가 발생합니다. 몇 가지 검색을 수행 한 결과 이전에 다른 사람들이이 문제를 겪어 왔지만 아무도 답을 찾지 못하는 것으로 나타났습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?델파이 : 마스터/세부 데이터 집합에서 "잘못된 필드 유형"오류가 발생했습니다
답변
ftDataSet 열에 세부 정보를 입력하는 대신 키 참조에 대해 고유 한 정수 또는 GUID를 사용하고 다른 TClientDataSet에 세부 데이터를 배치하고 해당 키를 갖습니다. 당신이 정상적인 데이터베이스에서와 같이. 다른 테이블을 나타내는 각 TClientDataSet입니다.
ftDataSet 유형의 필드를 만드는 경우 데이터 집합을 정의해야합니다. 그렇지 않으면 유형이 유효하지 않습니다.
는 다음과 같은 방법으로, 데이터 집합을 정의 할 수 있습니다 :
- 이 필드를 선택합니다.
- ChildDefs 속성을 선택하고 [...] 버튼을 클릭하십시오.
- 필드를 추가하십시오.
이제 데이터 세트를 만들 수 있습니다. 자식 중 하나가 ftDataSet 유형이 아니라면이 프로세스를 재귀 적으로 반복해야합니다.
이미 많은 시간을 낭비하는 심각한 문제. 마지막으로 내가 해결 방법을 찾을 여기에 설명 (감사 너희들!) :
http://www.delphigroups.info/3/6/171869.html
요약 : 범인은 마스터 클라이언트 데이터 셋의 필드 정의입니다 즉 ftDataset 필드를 포함하는 하나. 마스터 클라이언트 데이터 셋의 필드 정의가 비어있는 즉시 CreateDataSet 명령은 위에서 설명한 오류 메시지 ("잘못된 필드 유형")로 실패합니다.
해결 방법 : CreateDataset을 할 때 는 지시에 따라 마스터 - 세부 테이블을 작성하지만, 필드 정의가 비어 있는지 확인하십시오
A) 디자인 타임 : 당신이 전에 디자인 "마스터 데이터 집합 | | 마우스 오른쪽 단추는 데이터 집합 만들기" 폼에서 마스터 데이터 세트를 클릭하고 오브젝트 속성으로 이동 한 다음 FieldDefs를 클릭하고 FieldDefs 윈도우의 모든 필드를 삭제해야합니다. 처음에는 마스터 데이터 세트를 만들었으므로 어쨌든 거기에 아무 것도 없지만 나중에는 데이터 세트를 만듭니다. (나는 이것을 Delphi 2007에서 직접 시도해 보았습니다.)
b) 런타임 : [Name of Masterdataset] .CreateDataSet을 실행하기 전에 [Masterdataset] .FieldDefs.Clear를 호출하십시오. (나 자신을 시도하지는 않았지만 위의 링크에 신뢰할 수있는대로 설명되어 있습니다.)
너무 복잡하다면 위의 링크를 참조하십시오.
- 1. 델파이 - 콜백 잘못된 코드
- 2. 형식화 된 데이터 집합에서 SqlDateTime 오버플로가 발생했습니다. 삽입
- 3. 델파이 : Paradox DB 필드 이름 문제 (필드 이름의 공백)
- 4. 데이터 집합에서 빈 행을 삭제합니다.
- 5. 데이터 집합에서 연결 문자열 삭제
- 6. 데이터 집합에서 데이터베이스 업데이트 중?
- 7. 데이터 집합에서 데이터row를 필터링하는 방법?
- 8. 델파이 : 데이터 유형을 정의
- 9. 델파이 2009 잘못된 순서로 함께 작업
- 10. 델파이 7, TTable, Csv 파일 필드
- 11. flex : 데이터 집합에서 데이터 집합을 재정의 할 수 없습니다.
- 12. 델파이 : TOleControl은 ActiveControl을 잘못된 상태로 둡니다?
- 13. 델파이 스택 불일치 + COM 마샬링 = 잘못된 마셜링
- 14. Paramiko에서 '잘못된 키'오류가 발생했습니다.
- 15. 잘못된 인수 예외가 발생했습니다.
- 16. 잘못된 텍스트를 표시하는 플래시 텍스트 필드
- 17. 델파이, 타사 데이터 필드에서 데이터 읽기
- 18. 셰어 - 잘못된 필드 이름 오류
- 19. 데이터 집합에서 DateTime 데이터를 String으로 변환
- 20. SSIS 데이터 집합에서 행 개수를 결정하는 방법
- 21. 데이터 집합에서 생성 된 노드 순서 xxx
- 22. 프로그래밍 방식으로 두 데이터 집합에서 쿼리 실행
- 23. BIRT - 여러 데이터 집합에서 합계를 더하기
- 24. 데이터 집합에서 OpenGL 그리기 표면 볼륨
- 25. JasperReports : 데이터 집합에서 중복 값 제거
- 26. 델파이 : 목록보기에서 그리기위한 데이터 저장소
- 27. 해당 데이터 집합에서 필드를 하나만 가져 오는 방법은 무엇입니까?
- 28. 해독 할 때 가끔 잘못된 데이터 오류가 발생했습니다.
- 29. 데이터 집합에서 데이터 테이블을 제거하는 방법 (관계가 있음)
- 30. 데이터 집합에서 데이터 테이블 업데이트/삽입에 관한 질문