Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo ihr!

Ich habe ein Problem in Dephi

Im FormShow Ereignis habe ich eine SQL-Abfrage über Oracle-Query (extra Komponente).

Die Abfrage wäre:

select b.typ

from power.bewertung b

where b.typ <> ' '

dm_bewertung.ods_fragen.acitve := true;

dann nehme ich den ersten Datensatz mit:

dm_Bewertung.ods_fragen.first;

und dieser wird in einem Feld ausgegeben, dieses Feld hat als DataSource: dm_Bewertung.ds_fragen und als DataField: Typ.

Beim ersten Versuch funktioniert das alles :) , gehe ich aber jetzt her und schließe das Formular und öffne es wieder bringt meine SQL-Abfrage keinen Wert zurück :( (zumindest wird kein wert in meinem Feld angezeigt.

Ich habe im OnClose Ereignis die dm_bewertung.ds_fragen.active := false gesetzt. Trotzdem funktioniert es nur beim ersten mal, woran liegt das?

Wie kann ich den Wert den mir die SQL-Abfrage liefert in eine Variable speichern, damit ich ihn mir anschauen kann. Ich sehe ihn ja erst im Feld dbed_typ und das ist beim zweiten Versuch leer.

Ich hoffe ihr könnt mir helfen

Eure

Nausi

Geschrieben

schliesst du auch die verbindung zur Datenbank im form.close ? wenn ja, dann solltest du die im form.create auch wieder oeffnen... bzw. im "neuen" form.create muesstest du auch wieder



dm_bewertung.ds_fragen.active := true

[/PHP]

setzen

uruz

Geschrieben

Ja natürlich mache ich das! Ich habe anfangs nur die OracleDataSource geschlossen und geöffnet -> mein Problem war da

Und inzwischen schließe ich die dm_verbindung. Also: dm_verbindung.connected := false;

und beim starten wieder dm_verbindung.connected := true;

Aber ich probier jetzt mal noch was passiert wenn ich das ganze Formular der Verbindungen schließe, was ich ja eigentlich nicht möchte, da das die Sache relative langsam machen würde, na und sonst bleibt mir nur eins übrig:

ich muss mein Verbindungsobjekt direkt auf das Formular setzen...

aber ich probier das jetzt mal alles und sag dann wieder beischeidt

Euere

Nausi:rolleyes:

Geschrieben

Also wenn ich hergehe und

DataModule1.destroy

bekomme ich die immer die richtigen Daten, nur leider verstehe ich immer noch nicht wieso!

Wieso reicht es denn nicht wenn ich die dm_verbindung.ods_fragen.active und dm:verbindung.connected auf false setze??

Das mit dem Nothing funktioniert leider auch nicht!

Eure Nausi;)

Geschrieben

Ich arbeite eigentlich nur mit "Open;" und nicht mit "Active := True;", versuch das doch mal.

also nicht:

dm_verbindung.ods_fragen.Active := True;

sondern:

dm_verbindung.ods_fragen.Open;

Laut Delphi macht das dasselbe, aber ich bin mir da nicht so sicher, ich hab da auch schon Probleme mit gehabt.

Außerdem würde ich nach dem Open, wenn er nix anzeigt, nochmal ein Refresh hinterherschieben.

dm_verbindung.ods_fragen.Refresh;

Allerdings kenne ich die Oracle Komponenten nicht, also weiß ich nicht, ob das geht. Ich benutze ADO.

cu

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...