select * from XXX 쿼리를 사용하면 예상보다 많은 필드를 얻을 수 있습니다. 방법이 있는지 알고 있습니까? 해당 쿼리를 생성하고 영구 필드를 정의한 이후로 새 필드가 추가되었는지 확인하십시오.쿼리가 생성 된 시간보다 더 많은 필드가 있는지 확인하십시오.
일반적으로 새 필드가 추가되었는지 걱정할 필요없이 쿼리를 열 수 있습니다. 새 필드가 영구 필드 안에 있지 않으면 필드가 표시되지 않습니다. 그러나 Datasnap REST Server에서 영구 필드를 만들 때보 다 많은 필드가있는 쿼리에서 Dataset을 반환하려고 할 때 AV를 얻습니다.
내가 할 수있는 빠른 검사가 있는지 알고 싶으면 AV 대신 유용한 오류를 반환 할 수 있습니다. 같은
뭔가 : 데이터 세트가 지속 필드가있는 경우
MyQuery.Open;
if MyQuery.FieldDefs.Count <> MyQuery.Fields.Count then begin
raise Exception.Create('The number of returned Fields doesn''t match the expected');
end;
당신
왜 *에서가 아니라 쿼리에서 반환 할 열을 지정하지 않습니까? –
예,이 오류를 방지하는 가장 좋은 방법은 있지만 서버에서 쿼리를 작성하는 것이 아닙니다. 누군가가 잊어 버린 경우 AV 대신 유용한 메시지를 보내려합니다. –