TMsMetadata does not work any more
Posted: Tue 08 May 2007 00:20
Hi,
I updated from SDAC 3.55.1.20 to 3.80.0.37 and the following code does not work any more:
metadata.Eof returns True just after Open so it fails to get the metadata. In the old version is worked just fine.
What might be the problem?
I am using Delphi 7 and SQL Server Express (SQL Server 9.0.3042)
Best regards,
Jaakko Salmenius
function TLaSqlServerDatabase.DoGetPrimaryKeyFields(dataSet: TDataSet): WideString;
var
field: TStringField;
metadata: TMsMetadata;
begin
Result := '';
metadata := TMsMetadata.Create(nil);
try
metadata.Connection := FConnection;
metadata.DatabaseName := metadata.Connection.Database;
metadata.TableName := (dataSet as TMsTable).TableName;
metadata.ObjectType := otPrimaryKeys;
metadata.Open;
while not metadata.Eof do
begin
field := metadata.FieldByName('COLUMN_NAME') as TStringField;
if Result '' then
Result := Result + ';';
Result := Result + field.Value;
metadata.Next;
end;
finally
metadata.Free;
end;
end;[/b]
I updated from SDAC 3.55.1.20 to 3.80.0.37 and the following code does not work any more:
metadata.Eof returns True just after Open so it fails to get the metadata. In the old version is worked just fine.
What might be the problem?
I am using Delphi 7 and SQL Server Express (SQL Server 9.0.3042)
Best regards,
Jaakko Salmenius
function TLaSqlServerDatabase.DoGetPrimaryKeyFields(dataSet: TDataSet): WideString;
var
field: TStringField;
metadata: TMsMetadata;
begin
Result := '';
metadata := TMsMetadata.Create(nil);
try
metadata.Connection := FConnection;
metadata.DatabaseName := metadata.Connection.Database;
metadata.TableName := (dataSet as TMsTable).TableName;
metadata.ObjectType := otPrimaryKeys;
metadata.Open;
while not metadata.Eof do
begin
field := metadata.FieldByName('COLUMN_NAME') as TStringField;
if Result '' then
Result := Result + ';';
Result := Result + field.Value;
metadata.Next;
end;
finally
metadata.Free;
end;
end;[/b]