Moin
Mal so aus der Hüfte geschossen bzw ungetestet würde ich die Routine etwa so schreiben:
Delphi-Quellcode:
//TabSheet4 - Daten auslesen und in Stringgrid schreiben
procedure TForm1.GetDataSmall;
var
max: integer;
i:integer;
Zeile: integer;
begin
//Querry an die DB
db.Query ('
select * from kunden');
//Anzahl der Datensätze zählen
max :=
db.RowCount;
//Zeilenanzahl für das StringGrid1 anhand der Datensätze der Query anpassen
StringGrid1.RowCount :=
db.RowCount;
//Ausgabe der Datensätze im Stringgrid
for I := 0
to db.RowCount - 1
do
begin
StringGrid1.Cells[0, i] :=
db.Results[i][0];
StringGrid1.Cells[1, i] :=
db.Results[i][1];
StringGrid1.Cells[2, i] :=
db.Results[i][2];
end;
end;
Irgendwie beschleicht mich das Gefühl, dass mit deiner Version die Datensätze immer in die letzte Zeile geschrieben werden!?
Ähm, noch ein Tipp für's Löschen aller Zeilen in einem StringGrid:
Delphi-Quellcode:
//StringGrid1 Leeren
procedure TForm1.ClearStringGrid1;
var
irow : Integer;
begin
with StringGrid1 do
for irow := 0 to RowCount -1 do
Rows[iRow].Clear;
end;