나는 TADODataSet
(D7)을 사용하고 있습니다.
데이터 형식으로 디자인 모드에서 영구 필드를 만들지 않습니다.런타임에 TDataSet 조회 필드를 만드는 방법은 무엇입니까?
dsItems.CommandText := 'select ID, ItemName, UserIDCreate from Items';
dsUsers.CommandText := 'select ID, LoginName from Users'; // lookup dataset
내가 dsItems
을 두 번 클릭하고 "모든 fileds 추가"를 선택한 다음 클릭하면 "새가 제출 한"내 조회 필드를 정의, 모든 것이 잘 작동한다. ID, ItemName, UserIDCreate, LoginName_Lookup
할 수있는 내가 디자인 타임에이 모든 일을 피할 방법 및 후 조회 필드를 추가/또는 그 이전에 (확실하지?) 데이터 집합이 열립니다 : 결과 dsItems
이 포함되어야합니다. 즉
는 : 어떻게 이 다음 이 런타임 제기 조회를 추가 할 "새가 제출 한" "모든 fileds 추가"를 모방 하는가?
참고 : IDE에서 요한의 코드를 실행할 때 나는 예외를 얻을. 예외는 DataSet을 열려고 할 때 발생합니다 : EOleException with message 'An unknown error has occured'
. 라인 if FieldCount = 1 then FLookupCursor.Find...
나는 준수 프로그램 렸기 때문에 답을 수용하고있어에서
는function TCustomADODataSet.LocateRecord (ADODB.pas)
노력하고 있습니다.
IDE 내부에서 폼을 실행할 때 누군가가 예외를 얻는 지 확인할 수 있다면 좋을 것입니다.
이 코드를 실행하려면 디자인 모드에서 "영구 필드로 액세스해야하는 다른 모든 필드"를 먼저 만들어야한다는 것을 의미합니까? – Vlad
DataSet을 열려고 할 때 '알 수없는 오류가 발생했습니다.'라는 메시지가있는'EOleException '메시지가 나타납니다. – Vlad
런타임에 모든 영구 필드를 추가 할 수 있습니다. 예외를 던지고있는 부분과 어떤 줄을? –