mal mne ganz dumme Frage

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
wastl
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:

mal mne ganz dumme Frage

Beitrag von wastl »

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

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

.RTecordCount funktioniert bei mir. Nimmst du SQLDb ? .Open+select statement auf ner mySQL Datenbank funktioniert bei mir.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
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

Beitrag von af0815 »

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).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

OK ich weiss glaub ich was du meinst. Hab das ganze eben unter Linux probiert. Dort funktioniert Recordcount tatsächlich nicht. Ist immer 0 das select wird aber anscheinend richtig ausgeführt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wastl
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:

Beitrag von wastl »

.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 :D ), da fühlt man sich in Laz gleich wieder wie zu Hause :D
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.

wastl
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:

Beitrag von wastl »

@christian: ich habe es jetzt hur unter windows probiert...unter Linux noch nicht...aber gut das zu wissen...müsste es berpcksichtigen wenn ich das dingen mal porte :)

lg
wastl

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja der Bug sollte ja gefixt werden kann man ja nicht immer auf alles rücksicht nehmen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten