![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos 6.6.6
.Isnull liefert true trotz Werte in DB
Moin Dp
Ich hab folgendes Problem, ich lasse folgenden Code laufen:
Delphi-Quellcode:
Jetzt liefert mir die Abfrage auf IsNull immer true obwohl werte bei der id stehen die in messmodus steht.
with ZReadOnlyQuery1 do
begin SQL.Text := 'Select ID_Messmodus From Messungen Where ID_Mess = :id'; Params.ParamByName('id').AsInteger := Frm_Messung.lmess[0]; Open; messmodus := FieldbyName('ID_Messmodus').AsInteger; Close; //messmodus := 5; SQL.Text := 'Select * from Analyseanzeige where ID_Messmodus = :mo'; Params.ParamByName('mo').AsInteger := messmodus; Open; if FieldbyName('Belastung').IsNull then begin aktionenb := true; belastungb := true; koordinationb := true; schwankungb := true; kraftib := true; symmetrieib := true; end else begin aktionenb := FieldbyName('Aktionen').AsBoolean; belastungb := FieldbyName('Aktionen').AsBoolean; koordinationb := FieldbyName('Aktionen').AsBoolean; schwankungb := FieldbyName('Aktionen').AsBoolean; kraftib := FieldbyName('Aktionen').AsBoolean; symmetrieib := FieldbyName('Aktionen').AsBoolean; showmessage(booltostr(aktionenb, true)); end; end; Ich habs mit fester Messmodus Id probier, ich hab probiert im Statement eine feste ID reinzuschreiben, und ich habs ohne '*' probiert immer wieder das selbe Ergebniss, ich hab einfach keine Idee mehr worans liegen könnte. Hier noch ein Screenshot von der DB: ![]() Wäre sehr froh wenn mir jemand von euch helfen könnte. |
AW: .Isnull liefert true trotz Werte in DB
Zitat:
Delphi-Quellcode:
begin
// Warum wird hier immer nur das Feld "Aktionen" ausgelesen? aktionenb := FieldbyName('Aktionen').AsBoolean; belastungb := FieldbyName('Aktionen').AsBoolean; koordinationb := FieldbyName('Aktionen').AsBoolean; schwankungb := FieldbyName('Aktionen').AsBoolean; kraftib := FieldbyName('Aktionen').AsBoolean; symmetrieib := FieldbyName('Aktionen').AsBoolean; showmessage(booltostr(aktionenb, true)); end; |
AW: .Isnull liefert true trotz Werte in DB
Ich geh mal davon aus,daß er ungeschickt formuliert hat.
Wahrscheinlich ist er schon mit dem Debugger durch seinen Code gegangen und is immer im ".IsNull-Zweig" gelandet!? Was passiert denn wenn Du auf "notnull" (1) prüfst? Gruß K-H |
AW: .Isnull liefert true trotz Werte in DB
Hallo,
hm, vielleicht ein Problem mit ZEOS ? waa ist, wenn du auf AsString('Belastung').AsString='' prüfst ? Heiko |
AW: .Isnull liefert true trotz Werte in DB
Entweder Bug in ZEOS oder deine Query liefert keine Ergebnismenge. Ich sehe z.B. auch keinen Datensatz für ID_Messmodus = 5 (laut deinem Kommentar im Quellcode) in deinem Screenshot.
|
AW: .Isnull liefert true trotz Werte in DB
Hallo,
nimm ein DBGrid und hänge es auf ZReadOnlyQuery1. Dann siehst du, ob Daten gelesen werden. Wenn ja - Rätsel, wenn nein stimmt irgend was mit der DB-Abfrage nicht. |
AW: .Isnull liefert true trotz Werte in DB
Welchen Wert hat 'Frm_Messung.lmess[0]'?
Was liefert die Query 'Select ID_Messmodus From Messungen Where ID_Mess = :id'? Prüfe doch auch noch, ob die Analyseanzeige-Query überhaupt eine Ergebnismenge zurückliefert. Und wieso erschlägst Du das nicht mit einer einzigen Query?
Code:
Dann kannst Du für bestimmte 'id' Werte deine Query zunächst in der SQL-Konsole testen (IBExpert, nehme ich an).
select A.*
From Analyseanzeige A join Messmodus M on A.ID_Messmodus = M.ID_Messmodus where M.ID_Mess = :id |
AW: .Isnull liefert true trotz Werte in DB
Das Problem war viel einfacher, ich hatte vorher keine einstellung an die ZConnection geliefert :oops:
Ich war mir eigentlich sicher das ich das vorher gemacht hatte, aber die anderen SQL Abfragen hab ich über eine Connection und einem Query auf einer anderen Form abgewickelt. Fragt mich nur nicht warum. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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