4
델파이 7 애플리케이션에 다음과 같은 TSQLDataSet
이 있습니다. 테이블 MyTable에서 2 개의 필드 (ID 및 이름)를 가져 오는 중입니다.델파이 7에서 델파이 XE4로 마이그레이션하는 동안 TSQL 데이터 세트 오류가 발생했습니다
class EDatabaseError with message 'SQLDataSet: Type mismatch for field 'NAME', expecting: String actual:WideString'
은 무엇이 문제의 가능한 원인이 될 수있는 방법 나는 그것을 제거해야한다 : 나는 델파이 XE4로 마이그레이션 할 때
object SQLDataSet: TSQLDataSet
GetMetadata = False
CommandText = 'select * from MyTable'
MaxBlobSize = -1
Params = <>
SQLConnection = mySQLConnection
object SQLDataSetID: TIntegerField
FieldName = 'ID'
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
Required = True
end
object SQLDataSetNAME: TStringField
FieldName = 'NAME'
Required = True
Size = 50
end
end
, 나는 오류가 다음 무엇입니까?
참고 : firebird 2.5.2
입니다.
'TStringField'에'TWideStringField' – ZigiZ
@ZigiZ 변경 시도 - 귀하의 의견 주셔서 감사합니다. 이렇게하면 문제가 해결되지만 왜해야합니까? 나는이 제안이 주어진 곳에서 http://isatsara.blogspot.in/2012/01/delphi-2010-expecting-string-actual.html 링크를 따라 갔지만 나는 그의 설명을 얻지 못했다. 또한이 하나 http://forums.devart.com/viewtopic.php?t=22080. 이 변화를 다른 사람에게 어떻게 정당화해야합니까? –
'MyTable' 테이블의'NAME' 필드에 대한 Firebird 데이터베이스의 유형은 무엇입니까? –