Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi keinen Zugriff auf Datensatz (https://www.delphipraxis.net/44761-keinen-zugriff-auf-datensatz.html)

Hansi 24. Apr 2005 13:50

Datenbank: BDE • Zugriff über: Table

keinen Zugriff auf Datensatz
 
Hey,

Habe mal meinen Code angehängt.
Irgendwo ist ein Fehler drin!?!
Er liest keine Daten aus der Datenbank aus? Könnt Ihr mir sagen woran es liegt?



Delphi-Quellcode:
procedure TForm1.Exportieren1Click(Sender: TObject);
var
  Kopfzeile    : String;
  f            : TextFile;
  AN           : String;
  s            : String;
  BZ           : String;
begin
  Kopfzeile:='v_products_model'+#9+'v_products_name'+#9+'EOREOR';
  AssignFile(f,'.\Export.txt');
  Rewrite(f);
  WriteLn(f,Kopfzeile);
  Table1.DatabaseName:='.\DB\';
  Table1.TableName:='Artikeldatenbank';
  Table1.Active:=true;
  Table1.Edit;
  Table1.FieldValues['Artikelnummer']:=AN;
  Table1.FieldValues['Bezeichnung']:=BZ;
  s:=AN+#9+BZ+#9+'EOREOR';
  WriteLn(f, s);
  CloseFile(f);
end;

Hansa 24. Apr 2005 14:44

Re: keinen Zugriff auf Datensatz
 
Was soll hier geschehen ?

Delphi-Quellcode:
  Table1.FieldValues['Artikelnummer']:=AN;
  Table1.FieldValues['Bezeichnung']:=BZ;
  s:=AN+#9+BZ+#9+'EOREOR';
end;
Ich weiß es nicht, aber folgendes machst du da : du besetzt Datenbankfelder mit den Werten AN und BZ. Wo diese Werte herkommen weiß ich nicht. Von Daten aus der Datenbank lesen sehe ich jedefalls mal nichts.

Hansi 24. Apr 2005 15:00

Re: keinen Zugriff auf Datensatz
 
Hey,

Ich möchte eigentlich die Felder Artikelnummer und Bezeichnung aus der Datenbank auslesen und dann mit dem String s und Tab's in eine Txt Datei schreiben!

Wie lese ich den Datensatz aus?

Sharky 24. Apr 2005 15:38

Re: keinen Zugriff auf Datensatz
 
Zitat:

Zitat von Hansi
Ich möchte eigentlich die Felder Artikelnummer und Bezeichnung aus der Datenbank auslesen und dann mit dem String s und Tab's in eine Txt Datei schreiben!

Dann musst Du deinen Code so ändern das aus der Tabelle gelesen wird ;-)

Hier mal einige Änderungen in deinem Code. Ist aber ungetestet.

Delphi-Quellcode:
procedure TForm1.Exportieren1Click(Sender: TObject);
var
  Kopfzeile    : String;
  f            : TextFile;
  AN           : String;
  s            : String;
  BZ           : String;
begin
  Kopfzeile:='v_products_model'+#9+'v_products_name'+#9+'EOREOR';
  AssignFile(f,'.\Export.txt');
  Rewrite(f);
  WriteLn(f,Kopfzeile);
  Table1.DatabaseName:='.\DB\';
  Table1.TableName:='Artikeldatenbank';
  Table1.Active:=true;
//  Table1.Edit; // Die Tabelle möchtest Du ja nicht ändern. Darum auch kein Edit
  Table1.First; // Zum ersten Datensatz der Tabelle
  while not (Table1.Eof) do // Solange nicht das Ende der Tabelle erreicht ist...
  begin
    AN := Table1.FieldValues['Artikelnummer']; // Feld 'Artikelnummer' AUSlesen
    BZ := Table1.FieldValues['Bezeichnung']:=BZ;
    s:=AN+#9+BZ+#9+'EOREOR';
    WriteLn(f, s);
    Table1.Next; // Zum nächsten Datensatz hüpfen;
  end;
  CloseFile(f);
end;

Hansi 24. Apr 2005 16:53

Re: keinen Zugriff auf Datensatz
 
Danke es funzt!

Lag es nur an der Schleife oder an der Position von AN:=... oder ...:=AN?

Sharky 24. Apr 2005 16:58

Re: keinen Zugriff auf Datensatz
 
Zitat:

Zitat von Hansi
...Lag es nur an der Schleife oder an der Position von AN:=... oder ...:=AN?

An beidem ;-)

Hansa 24. Apr 2005 17:13

Re: keinen Zugriff auf Datensatz
 
Der Hauptfehler war das := AN.
Delphi-Quellcode:
:=
heißt nicht "gleich" oder sonstwas, sondern "ergibt sich zu". Wenn man das so liest, dann dürfte der Fehler kaum noch passieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz