ich habe ein kleines Problem. Ich lese Daten aus einer ods-Datei aus. Mit folgendem Code
Code: Alles auswählen
procedure TForm1.Button31Click(Sender: TObject);
var resultset : Variant;
i : integer;
begin
if OpenDialog1.execute then
begin
OO_Doc := TOLE_OpenOffice.create;
OO_Doc.Connect;
OO_Doc.Open_Database(OpenDialog1.filename);
OO_Doc.StartDBConnect;
resultset := OO_Doc.OpenSql('SELECT MIAID, NAME FROM TESTTABELLE');
resultset.last;
Stringgrid1.RowCount := resultset.getRow+1;
resultset.first;
i := 1;
while resultset.next do
begin
Stringgrid1.Cells[0,i] := resultset.getString(1);
Stringgrid1.Cells[1,i] := resultset.getString(2);
inc(i);
end;
OO_Doc.CloseDBConnect;
end;
function TOLE_OpenOffice.OpenSql(statement:String):variant;
var Stmt,Res : Variant;
begin
Stmt := DB_Connection.createStatement;
Stmt.SetPropertyValue('ResultSetType', 1005);
Res := Stmt.executeQuery(statement);
result := res;
end;
Code: Alles auswählen
resultset.last;
Stringgrid1.RowCount := resultset.getRow+1;
resultset.first;


Wenn ich die First/Last Sequenz weglasse, dann liest die Schleife alle Datensätze aus, aber dann hab ich den Rowcount nicht um das Grid auszurichten

Was mach ich falsch?