AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADODataSet in ein STringgrid einfügen?
Thema durchsuchen
Ansicht
Themen-Optionen

ADODataSet in ein STringgrid einfügen?

Ein Thema von dragi · begonnen am 13. Nov 2005 · letzter Beitrag vom 13. Nov 2005
Antwort Antwort
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#1

ADODataSet in ein STringgrid einfügen?

  Alt 13. Nov 2005, 11:56
Datenbank: access • Version: 2003 • Zugriff über: dbgo
Hallo,

ich habe nach dem Auslesen einer TAbelle ein gefülltes ADODataSet. Jetzt möchte ich die Daten wieder in einem StringGrid visualisieren.

Delphi-Quellcode:
procedure TForm2.FillGrid(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to ADODataSet1.RecordCount do
  begin
    StringGrid1.Cells[i,0] := ADODataSet1.FieldByName('Name').AsString;
    StringGrid1.Cells[i,1] := ADODataSet1.FieldByName('Strasse').AsString;
  end;
end;
Aber wie kann ich denn jetzt zum nächsten Datensatz im DataSet springen? Gibt es nciht so etwas wie ADODataSet.Fields[i].FieldByName('Name').asstring? Dann könnte ich das DataSet mit meiner Zählvariable steuern. Wie macht man sowas richtig?

Vielen Dank

Dragi

[edit=sakura] [code]->[delphi] Mfg, sakura[/edit]
Delphi 3 Professional @home
Delphi 2005 PE @home
Delphi 2005 Enterprise @work
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ADODataSet in ein STringgrid einfügen?

  Alt 13. Nov 2005, 13:27
Hallo Dragi,

du kannst über die Eigenschaft RecNo den aktuellen Datensatz wählen. Ich habe im Code deine Zellenadressierung geändert, so dass die Felder eines Satzes in den Spalten einer Zeile angezeigt werden - bei dir wurden die Felder eines Satzes untereinander geschrieben. Bei der Zeilenadressierung habe ich Titelzeilen im StringGrid berücksichtigt.

Generell solltest du dir eine Namenskonvention für deine Komponenten und Variablen auferlegen. Die von der IDE vorgegebene Konvention - Klassenname mit angehängtem Zähler, aber ohne T - ist zu abstrakt.

Delphi-Quellcode:
procedure TForm2.FillGrid(Sender: TObject);
var
  i, iRow: integer;
begin
  iRow := StringGrid1.FixedRows;
  with ADODataSet1 do
    for i := 1 to RecordCount do
    begin
      RecNo := i;
      StringGrid1.Cells[0, iRow] := FieldByName('Name').AsString;
      StringGrid1.Cells[1, iRow] := FieldByName('Strasse').AsString;
      Inc(iRow);
    end;
end;
Kennst du schon Delphi-Referenz durchsuchenTDBGrid und Delphi-Referenz durchsuchenTListView?

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz