Delphi-PRAXiS
Seite 2 von 7     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank- Quiz programmieren (https://www.delphipraxis.net/203649-datenbank-quiz-programmieren.html)

Reedx 8. Mär 2020 15:57

AW: Datenbank- Quiz programmieren
 
Zitat:

Zitat von DeddyH (Beitrag 1459160)
Zitat:

Delphi-Quellcode:
while not (Datamodule1.ADOQuery6.Eof) and (Datamodule1.ADOQuery7.Eof) do

Das entspricht logisch
Delphi-Quellcode:
while (not (Datamodule1.ADOQuery6.Eof)) and (Datamodule1.ADOQuery7.Eof) do
Sicher, dass das so stimmt?

da passiert leider auch nichts..

DieDolly 8. Mär 2020 15:59

AW: Datenbank- Quiz programmieren
 
Eventuell hier nachlesen. Lass alles bis zum Thema if-Anweisungen weg. Das brauchst du jetzt gerade noch nicht.
https://delphi-lernen.de/de/index.php?mid=109&vr=1

Reedx 8. Mär 2020 16:06

AW: Datenbank- Quiz programmieren
 
Zitat:

Zitat von DieDolly (Beitrag 1459164)
Eventuell hier nachlesen. Lass alles bis zum Thema if-Anweisungen weg. Das brauchst du jetzt gerade noch nicht.
https://delphi-lernen.de/de/index.php?mid=109&vr=1

naja darum gehts ja nicht. mir geht es darum warum das
"AdoQuery.Next" nicht funktioniert, da dort ja eigentlich dann der nächste eintrag aus der datenbank ausgewählt werden sollte.. aber das funktioniert halt nicht

ich hab davir schon 6 verschiedene units programmiert, wo Login Daten gespeichert werden, wo man neue Einträge in die DB hinzufügen und bearbeiten kann, also hab ich "grundlegende erfahrungen".. nur das jetzt will irgendwie nicht funktionieren und ich selbst finde diesmal nicht den knackpunkt.

DieDolly 8. Mär 2020 16:09

AW: Datenbank- Quiz programmieren
 
Zitat:

AdoQuery.Next" nicht funktioniert, da dort ja eigentlich dann der nächste eintrag aus der datenbank ausgewählt werden sollte.. aber das funktioniert halt nicht
Das hat DeddyH doch oben beantwortet.

Zitat:

ich hab davir schon 6 verschiedene units programmiert, wo Login Daten gespeichert werden, wo man neue Einträge in die DB hinzufügen und bearbeiten kann, also hab ich "grundlegende erfahrungen"..
Scheinbar fehlt dir leider genau das. Sonst hättest du nicht in 3 Zeilen gleich 2 Fehler, die man beim Drüberlesen finden sollte.

DeddyH 8. Mär 2020 16:12

AW: Datenbank- Quiz programmieren
 
Nochmal: deine Schleifenbedingung bedeutet, dass AdoQuery6 nicht am letzten Datensatz angekommen sein darf, AdoQuery7 aber muss. Und durch den fehlenden begin-end-Block wird nur eins der beiden Queries angesprochen. Korrigier das jetzt erst einmal, dann sehen wir weiter.

jobo 8. Mär 2020 16:15

AW: Datenbank- Quiz programmieren
 
Gut, wenn "schau mal genau hin" nicht hilft, dann sind Dir die "Spielregeln" anscheinend nicht klar.
Bringt es nun etwas, Dir zu sagen, mach da mal Begin End oder andere Klammerung drum? Der Code würde laufen, aber in der Prüfung bringt es Dich nicht weiter.

Mein erster Tipp:
Debuggen! Also zusehen, Schritt für Schritt, wie der Codezeiger durch Deinen Code läuft (und staunen)
Das ist sehr lehrreich!

Wenn du noch nie mit dem Debugger gearbeitet hast, 2 Möglichkeiten:
1. einfach loslegen, F7, F8 und vielleicht ein paar Brakepoints und los geht die Reise
2. Debug Ausgaben ala "ich bin jetzt bei dem Schritt 'query.next'" in ein Memofeld eintragen

2. kann man sehr dosiert machen und es reicht trotzdem zum Staunen. Besonders wenn man sieht, wo es lang geht und man immer noch nicht begreift warum. Nervig und vielleicht quälend aber lehrreich.

Reedx 8. Mär 2020 16:16

AW: Datenbank- Quiz programmieren
 
ich hab es jetzt so gemacht. Jetzt bleibt die Radiogroupbox aber komplett leer und zeigt weder frage noch antworten an

Delphi-Quellcode:
 for i:= 0 to 10 do
    begin
        Datamodule1.ADOQuery6.First;
        Datamodule1.ADOQuery7.First;
     while (not (Datamodule1.ADOQuery6.Eof) and (Datamodule1.ADOQuery7.Eof)) do
     begin
        Datamodule1.ADOQuery6.Next;
        Datamodule1.ADOQuery7.Next;

    //Frage in "Titel"
      rg.Caption:= Datamodule1.ADOQuery6.Fields[0].AsString;
    //Antworten in Radiobuttons
      rg.Items.Clear;
      rg.Items.Add(Datamodule1.ADOQuery7.Fields[0].AsString);
      rg.Items.Add(Datamodule1.ADOQuery7.Fields[1].AsString);
      rg.Items.Add(Datamodule1.ADOQuery7.Fields[2].AsString);

    end;
       end;
          i:= i+1;

DieDolly 8. Mär 2020 16:19

AW: Datenbank- Quiz programmieren
 
Ich reagiere jetzt auf was anderes.
Was soll dieses
Delphi-Quellcode:
i:=+1;
dort?
Bzw das von dir abgeänderte
Delphi-Quellcode:
i:= i+1;


Es scheint wirklich so, als würdest du die Basis überhaupt nicht kennen und ihr, die Klasse, legt einfach drauf los.
Für gewöhnlich lehrt man als Lehrpersonal erst einmal die grundlegenden Begriffe und und und. Und fängt nicht gleich ohne Grundwissen vermittelt zu haben mit Datenbanken an.

jobo 8. Mär 2020 16:20

AW: Datenbank- Quiz programmieren
 
Ja, die Klammerung von Query6 und 7 EOF ist immer noch fehlerhaft.

Ich wollte da noch eine Sache loswerden (ist ja auch schon angeklungen)
Man könnte Frage und Antworten in einem Schwung laden, damit spart man sich das Handling von 2 Queries..
.. was meinst Du?
Aber vielleicht eine blöde Idee, den Fehler zu vermeiden statt zu korrigieren...

DeddyH 8. Mär 2020 16:21

AW: Datenbank- Quiz programmieren
 
Setz mal einen Haltepunkt innerhalb der while-Schleife.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Seite 2 von 7     12 34     Letzte »    

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-2025 by Thomas Breitkreuz