Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi EDatabaseError - auslesen aus DB (https://www.delphipraxis.net/79998-edatabaseerror-auslesen-aus-db.html)

capo 1. Nov 2006 09:54

Datenbank: Dbase • Version: 5.0 • Zugriff über: BDE

EDatabaseError - auslesen aus DB
 
Hallo

ich versuche schon seit einiger Zeit aus einer *.dbf Datei alle Rechnungsnummern herauszusuchen die ihre Rechnung noch nicht bezahlt haben, das mache ich so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
With Query1 do
 begin
  sql.add('select * from Rechnungen where BEZAHLT = BEZAHLT ');
Open;
  While not EOF do
  begin
  memo1.Lines.Add(FieldByName('N').AsString + ' => gefunden!'); // N = Nein
  Next;
 End;
 Close;
end;
end;
Klappt überhaupt nicht, erhalte folgende Fehlermeldung:
Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Rechnung.exe ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung: 'Query1: Das Feld 'N' wurde nicht gefunden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
Wollte es erstmal in einem Memo darstellen, soll später in ein DBGRID.
Da weiss ich auch noch nicht wie.


gruesse
capo

DocE 1. Nov 2006 09:56

Re: EDatabaseError - auslesen aus DB
 
Hallo Capo,

dann scheint es das Feld "N" wohl nicht zu geben. Was meinst Du mit N = Nein?

Grüsse
...Doc

hoika 1. Nov 2006 10:22

Re: EDatabaseError - auslesen aus DB
 
Hallo,

du wirfst hier etwas durcheinander.

ändere deine Query (vor dem 2. BEWZAHLT kommt ein Doppelpunkt).

Delphi-Quellcode:
sql.add('select N from Rechnungen where BEZAHLT = :BEZAHLT ');
ParamByName('BEZAHLT').AsString:= 'N'; // falls es ein Char ist
Open;
try
  while not EOF // usw.
finally
  Close;
end;
das select N geht davon aus, dass das Rechnungsnummer Feld N heisst,
falls nicht, ändern.


Heiko

capo 1. Nov 2006 11:00

Re: EDatabaseError - auslesen aus DB
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Heiko

Danke für deine Hilfe.
Ich verwechsel da glaub ich immer noch was:

Delphi-Quellcode:
procedure TFRechnung.Button1Click(Sender: TObject);
begin
With Query1 do
 begin
  sql.add('select RGNR from Rechnungen where BEZAHLT = :BEZAHLT ');
ParamByName('BEZAHLT').AsString:= 'N'; // falls es ein Char ist
Open;
try
  while not EOF do
  begin
  memo1.Lines.Add(FieldByName('N').AsString + ' => gefunden!');
  Next;
 End;
finally
  Close;
end;
end;
end;
Schau dir bitte mal die Struktur an:

mkinzler 1. Nov 2006 11:04

Re: EDatabaseError - auslesen aus DB
 
Das Feld heißt BEZAHLt also muß es
Delphi-Quellcode:
memo1.Lines.Add(FieldByName('BEZAHLT').AsString + ' => gefunden!');
heißen.

capo 1. Nov 2006 11:06

Re: EDatabaseError - auslesen aus DB
 
hi, irgendwie nicht, erhalte dann als Meldung:
Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt rechnung.exe ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung: 'Query1: Das Feld 'BEZAHLT' wurde nicht gefunden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
gruss
capo

mkinzler 1. Nov 2006 11:09

Re: EDatabaseError - auslesen aus DB
 
Du läßst dir ja auch nur ein Feld zurückgeben:
Zitat:

SQL-Code:
select RGNR from Rechnungen where BEZAHLT = :BEZAHLT

Erweitere die Feldliste dementsprechend.

DocE 1. Nov 2006 11:11

Re: EDatabaseError - auslesen aus DB
 
Das liegt daran:


Delphi-Quellcode:
sql.add('select RGNR from Rechnungen where BEZAHLT = :BEZAHLT ');
Du musst die Felder, auf die Du zugreifen möchtest auch abfragen, z.B. mit

Delphi-Quellcode:
sql.add('select RGNR,BEZAHLT from Rechnungen where BEZAHLT = :BEZAHLT ');
oder

Delphi-Quellcode:
sql.add('select * from Rechnungen where BEZAHLT = :BEZAHLT ');
Grüsse
...Doc

capo 1. Nov 2006 11:21

Re: EDatabaseError - auslesen aus DB
 
Ich fang gerade erst damit an.
Danke das war es!

Gruss Capo

capo 1. Nov 2006 11:43

Re: EDatabaseError - auslesen aus DB
 
Ich doch nochmal. :)
Was muss ich tun wenn ich alle Daten der Zeile in der (N) sich befindet in ein DBGrid bekommen will?
Oder hat jemand ein kleines Tutorial speziell für Delphi & Dbase?
gruss
capo


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Seite 1 von 4  1 23     Letzte »    

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