Problem mit first und last
Verfasst: Mi, 31.03.2010 11:07
Hallo,
ich habe ein kleines Problem. Ich lese Daten aus einer ods-Datei aus. Mit folgendem Code
Das Problem hierbei ist folgendes
damit möchte ich den Rowcount ermitteln. Das funktioniert auch soweit, allerdings bringt er mir im Anschluss in der Schleife nicht alle Datensätze zurück
Er unterschlägt immer den ersten
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?
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?