When I retrieve the fields names, when the name is 32 characters long, the last character is a wrong character square.
I tried with dbexpsda.dll versions 2.50.4.0 and 4.1.0.3.0.
I tried all properties of the composants and no one works.
Code: Select all
procedure Test;
var
i : Integer;
sqlTable : TSQLTable;
begin
sqlTable := TSQLTable.Create( Self );
sqlTable.SQLConnection := FSQLConnection;
sqlTable.TableName := 'TEST';
sqlTable.BeforeOpen := SQLTableBeforeOpen;
sqlTable.Open;
for i := 0 to sqlTable.FieldCount - 1 do
begin
ShowMessage( sqlTable.Fields[ i ].Name );
ShowMessage( sqlTable.Fields[ i ].DisplayName );
ShowMessage( sqlTable.Fields[ i ].DisplayText );
ShowMessage( sqlTable.Fields[ i ].DisplayLabel );
ShowMessage( sqlTable.Fields[ i ].FullName );
ShowMessage( sqlTable.Fields[ i ].FieldName );
ShowMessage( sqlTable.FieldList[ i ].Name );
ShowMessage( sqlTable.FieldList[ i ].DisplayName );
ShowMessage( sqlTable.FieldList[ i ].DisplayText );
ShowMessage( sqlTable.FieldList[ i ].DisplayLabel );
ShowMessage( sqlTable.FieldList[ i ].FullName );
ShowMessage( sqlTable.FieldList[ i ].FieldName );
ShowMessage( sqlTable.FieldDefs[ i ].Name );
ShowMessage( sqlTable.FieldDefs[ i ].DisplayName );
ShowMessage( sqlTable.FieldDefList[ i ].Name );
ShowMessage( sqlTable.FieldDefList[ i ].DisplayName );
end;