die Frag eklingt dumm aberich suche schon die ganze zeit in den vorhandenen Dokumentationen/Wikis/Foren und finde nichts
Wie kann ich fangen ob eine ausgeführte SQLQuery Daten liefert oder nicht?
Sprich ist die Anzahl der Datensätze des Ergebnisses <> 0 oder so
Die Methoden .IsEmpty oder .RecordCount habe ich schon probiert aber mit denen wirft mein Programm nur Fehler
Leider ist auch die LazSnippets Doku in diesem Punkt unvollständig da diese Eigenschaften von TSQLQery dort garnicht erwähnt werden...
Ich komm da einfach mangels Doku nicht weiter
lg
wastl
mal mne ganz dumme Frage
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: mal mne ganz dumme Frage
wastl hat geschrieben:die Frag eklingt dumm aberich suche schon die ganze zeit in den vorhandenen Dokumentationen/Wikis/Foren und finde nichts
.......
Leider ist auch die LazSnippets Doku in diesem Punkt unvollständig da diese Eigenschaften von TSQLQery dort garnicht erwähnt werden...
Ich komm da einfach mangels Doku nicht weiter
Genau das ist der springende Punkt, warum ich mir die Arbeit mache die Dokumentation zu schreiben. Ich habe vor ca. 2 Wochen angefangen mir die TSQLQuery vorzunehmen und das Ergebnis kannst du im SVN ab Stand 50 nachlesen.
Das Problem ist, das ich die Komponente verstehen MUSS um die Methoden und Eigenschaften zu erklären. Es gibt daher derzeit nur Informationen über die Bereiche die ich so halbwegs geschnallt habe, ich könnte zwar alles hineinnehmen und dazuschreiben 'Derzeit keine Informationen verfügbar'.
Aber du bist derzeit am richtigen Weg, wenn ich Probleme im Forum sehe die hineinpassen, so kann ich mich da fokussieren und zugleich Dokumentieren.
Zurück zu deiner Frage:
Für was benötigst du die beiden Informationen ?
Methoden .IsEmpty:
Denn eine Datenmenge kann man auch über EOF abfragen, ist es nach dem Abfragen true so ist die Datenmenge leer. Exakter beschrieben ist BOF und EOF bei einer leeren Menge wahr.
Methoden .RecordCount:
Ein 'select count(row1) as Anzahl from table1 where ... ' bringt die Information auch (Server). Warum jetzt RecordCount nicht funktioniert müsst ich mir ansehen. Du hast es aber auf eine vorhandene geöffnete Datenmenge anzuwenden probiert ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 28
- Registriert: Mo 29. Okt 2007, 17:03
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Regensburg
- Kontaktdaten:
.RecordCount funktioniert doch jetzt...keine Ahnung warm Laz da rumgebockt hat...habe eigentlich nichts geändert und aufeinmal warf das prog keine db exception mehr segfaultete dafür aber aus anderen Gründen die damit nichts zu zun haben ;)
Zum Verständnis:
es geht um eine Suche in einem Verzeichnis. Es wird über ein Edit ein Suchbegriff eingegeben, nach diesem wird in der Datenbank in einer bestimmten Tabelle gesucht. Nur wenn ein Ergebnis gefunden wird (Also ein Datensatz - in meinem Fall kann immer nur ein oder kein Datensatz herauskommen - liegt im Wesen der Daten *g*) dann wird dieses Ergebnis ausgewertet. Die Auswertung benötigt dann aber Daten aus anderen Tabellen wofür die SQLStatements zur Laufzeit generiert werden müssen und das würde nicht funktionieren wenn nicht ein Feld aus der ersten Abfrage zur Verfügung steht. Also muss der Fall nichts gefunden behandelt werden sonst gibts exceptions :)
Ausserdem hat ebendieser Fall noch einen Sonderunterfall der nicht in der Datenbank steht aber auch behandelt werden muss :)
Edit: mal wieder missverständllich formuliert *g* Verzeichnis meint hier NICHT Ordner sondern ein Verzeichnis von Telefonnummern und Telefonanschlüssen meines Arbeitgebers :)
Also nicht wirklich sonderlich komplizert und funktioniert ja jetzt auch :)
Naja ich hab früher viel Delphi und Datenbankzugriff (wenn auch via ODBC) programmiert (hab u.a. das Studentenstatistikprogramm für die Uni Regensburg in Delphi geschrieben - waren > 4000 Zeilen Quellcode ), da fühlt man sich in Laz gleich wieder wie zu Hause
Das hat mir da jetzt auch wieder einiges geholfen beim programmieren weil sich auch bei den Komponenten sehr viel gleicht *g*
lg
wastl
Zum Verständnis:
es geht um eine Suche in einem Verzeichnis. Es wird über ein Edit ein Suchbegriff eingegeben, nach diesem wird in der Datenbank in einer bestimmten Tabelle gesucht. Nur wenn ein Ergebnis gefunden wird (Also ein Datensatz - in meinem Fall kann immer nur ein oder kein Datensatz herauskommen - liegt im Wesen der Daten *g*) dann wird dieses Ergebnis ausgewertet. Die Auswertung benötigt dann aber Daten aus anderen Tabellen wofür die SQLStatements zur Laufzeit generiert werden müssen und das würde nicht funktionieren wenn nicht ein Feld aus der ersten Abfrage zur Verfügung steht. Also muss der Fall nichts gefunden behandelt werden sonst gibts exceptions :)
Ausserdem hat ebendieser Fall noch einen Sonderunterfall der nicht in der Datenbank steht aber auch behandelt werden muss :)
Edit: mal wieder missverständllich formuliert *g* Verzeichnis meint hier NICHT Ordner sondern ein Verzeichnis von Telefonnummern und Telefonanschlüssen meines Arbeitgebers :)
Also nicht wirklich sonderlich komplizert und funktioniert ja jetzt auch :)
Naja ich hab früher viel Delphi und Datenbankzugriff (wenn auch via ODBC) programmiert (hab u.a. das Studentenstatistikprogramm für die Uni Regensburg in Delphi geschrieben - waren > 4000 Zeilen Quellcode ), da fühlt man sich in Laz gleich wieder wie zu Hause
Das hat mir da jetzt auch wieder einiges geholfen beim programmieren weil sich auch bei den Komponenten sehr viel gleicht *g*
lg
wastl
Zuletzt geändert von wastl am Mi 31. Okt 2007, 14:51, insgesamt 1-mal geändert.