Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Label ist keine gültige Integerwert (https://www.delphipraxis.net/52205-label-ist-keine-gueltige-integerwert.html)

scuby 25. Aug 2005 12:04

Datenbank: Delphidatenbank • Zugriff über: SQL

Label ist keine gültige Integerwert
 
Delphi-Quellcode:
repeat
begin
lfdnr := lfdnr + 1;
while not Query1.Eof do
begin
buffer:= query1.Fieldbyname ('LFDNR').AsString;
buffer1 := strtoint(buffer);
if (buffer1 = lfdnr)then
begin
query1.Next;
end
else
begin
k := inttostr(lfdnr);
Form4.Label14.Caption := k;
end;
end;
end;
until Query1.Eof;
Wenn ich diese Anweisung ausführe, kommt Folgende Fehlermeldung:
Label ist kein gültiger Integerwert, aber wo soll denn hier ein Label ein Integerwert sein??

THX
Scuby

Stanlay Hanks 25. Aug 2005 12:07

Re: Label ist keine gültige Integerwert
 
Hi. Wenn du doppelt auf die Fehlermeldung klickst, springt Delphi zur entsprechenden Zeile im Source. Zeig mal nur diese Zeile.

Man liest sich, Stanlay :hi:

Edit: Oder kompiliert er ohne Fehler und macht erst beim Laufen der Anwendung Probleme?

dfried 25. Aug 2005 12:08

Re: Label ist keine gültige Integerwert
 
So auf den ersten Blick seh ich nur dass Label hinten mit zwei "L" geschrieben ist (LabeLL).

Gruß
Daniel

Wuaegner 25. Aug 2005 12:12

Re: Label ist keine gültige Integerwert
 
Der Fehler kann meiner Meinung nach nur wegen diese Zeile kommen:
Delphi-Quellcode:
buffer:= query1.Fieldbyname ('LFDNR').AsString;
buffer1 := strtoint(buffer);
buffer hat hier evtl. den Wert 'Label' und den kann StrToInt() nicht verarbeiten. Kann das sein?

scuby 25. Aug 2005 12:46

Re: Label ist keine gültige Integerwert
 
Du hattest recht buffer hat den Wert Label und kann ihn daher nicht verareiten, aber nun kommt ja die frage, warum hat Buffer den Wert Label?
Ich stell mal die ganze Procedure rein, villeicht findet ihr ja den Fehhler, weil momentan kann ich ihn nicht orten.

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var lfdnr,buffer1 : integer;
var buffer,s,k : string;
begin
i := 1;
lfdnr := 0;
s := 'select LFDNR from teilnehmer';
query1.close;
Query1.Sql.Clear;
Query1.Sql.Add(s);
Query1.ExecSQL;
Query1.Active:=true;
Query1.First;

repeat
begin
lfdnr := lfdnr + 1;
while not Query1.Eof do
begin
buffer:= query1.Fieldbyname ('LFDNR').AsString;
buffer1 := strtoint(buffer);
if (buffer1 = lfdnr)then
begin
query1.Next;
end
else
begin
k := inttostr(lfdnr);
Form4.Label14.Caption := k;
end;
end;
end;
until Query1.Eof;

label7.Caption := inttostr(i);
Form5.Label18.Caption := Label7.Caption;
form4.visible := true;
if Checkbox1.Checked = true then Label6.Caption := 'LSM';
if Checkbox2.Checked = true then Label6.Caption := 'EH';
if Checkbox3.Checked = true then Label6.Caption := 'FreshUp';
if Checkbox4.Checked = true then Label6.Caption := 'EHT';
if Checkbox5.Checked = true then Label6.Caption := 'EH (BG)';
if Checkbox6.Checked = true then Label6.Caption := 'AKN';
if Checkbox7.Checked = true then Label6.Caption := 'SSD';
if Checkbox8.Checked = true then Label6.Caption := 'SHL';
if Checkbox9.Checked = true then Label6.Caption := 'SDL';
if Checkbox10.Checked = true then Label6.Caption := 'AED';

Form4.Label2.Caption := Label6.Caption;
Form4.Label6.Caption := Edit1.Text;
Form4.Label8.Caption := Edit2.Text;
Form4.Label18.Caption := Edit3.Text;
Form4.Label12.Caption := Label6.Caption;
Form4.Label20.Caption := Form1.Label5.Caption;
Form4.Label38.Caption := Form1.Label4.Caption;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Form6.visible := true;
Form3.visible := false;
end;

SirThornberry 25. Aug 2005 12:49

Re: Label ist keine gültige Integerwert
 
was soll das eigentlich
Delphi-Quellcode:
repeat
begin
lfdnr := lfdnr + 1;
while not Query1.Eof do
begin
entweder while oder repeat, denn deine whileschleife läuft bis eof und das repeat läuft genau so, also hat das repeat keinen Effekt. Und warum dort label drin steht liegt wohl daran das in der Datenbank eventuell schon "Label" drin steht

TeronG 25. Aug 2005 12:50

Re: Label ist keine gültige Integerwert
 
Delphi-Quellcode:
buffer:= query1.Fieldbyname ('LFDNR').AsString;
buffer1 := strtoint(buffer);
hmm :gruebel: und warum nicht gleich als Zahl auslesen/einschreiben ?? .. ( .AsInteger)
sollten ja eh nur Zahlen drinnen stehen (weil StrToInt) oder?.. :gruebel:


EDIT:
Zitat:

Zitat von scuby
warum hat Buffer den Wert Label?

Evtl. nur ne "altlast"?

dfried 25. Aug 2005 13:12

Re: Label ist keine gültige Integerwert
 
Noch ne kleine Anmerkung zu deinem Sourcecode:

s := 'select LFDNR from teilnehmer';
query1.close;
Query1.Sql.Clear;
Query1.Sql.Add(s);
Query1.ExecSQL; <-- nur bei INSERT / UPDATE / DELETE-Statements
Query1.Active:=true;
Query1.First; <-- Nach dem Open (oder Active:=true) der Query steht diese immer auf dem ersten Datensatz, kannst du dir also sparen

Gruß
Daniel

s14 25. Aug 2005 13:20

Re: Label ist keine gültige Integerwert
 
Es gibt auch noch die Möglichkeit:

Delphi-Quellcode:
buffer1 := StrToIntDef(buffer, -1);

scuby 25. Aug 2005 13:23

Re: Label ist keine gültige Integerwert
 
Der Wert 'Label' der in LFDNR steht kann keine Altlast sein, denn er wird immer wieder eingetragen, also muss in der Anweisung etwas falsch sein!
Die Tipps habe ich befolgt uns Soucrecode aufgeräumt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.
Seite 1 von 2  1 2      

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