Entwickler-Ecke
Datenbanken - Query.Databasename?
D. Annies - Di 15.11.11 06:59
Titel: Query.Databasename?
Hi, Delpher,
wann setzt man am besten im Programm die Entität Query.databasename?
Ich lade den Table und sortiere ihn in einer Query.
Dann wechsele ich den Table und bekomme dann beim (erneuten) Sortieren die
Fehlermeldung: Operation bei geöffneter Datenenge nicht ausführbar.
Danke für eine Idee,
Detlef
jaenicke - Di 15.11.11 07:05
In Zeile 408 hast du ein Close vergessen. ;-)
Im Ernst: Ohne Quelltext lässt sich das jetzt schlecht sagen, aber ich vermute einmal aus deiner Beschreibung, dass der Fehler kommt, wenn du den DatabaseName setzt? Dann musst du die Abfrage in der Query vorher schließen und danach wieder öffnen.
D. Annies - Di 15.11.11 07:12
Es ist genau, wie du sagst, beim Setzen des Databasenamens.
Codeschnipsel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TBuchMain.qSchuelerSort(Sender: TObject); begin screen.cursor := crhourglass; QSchueler.close; QSchueler.DatabaseName := listbox11.items[listbox11.itemindex]; QSchueler.sql.clear; QSchueler.sql.text := format('select NAME, VORNAME, KLASSE, GESCHLECHT, GEBDAT, TELEFON, FSPRACHE1, FSPRACHE2, '+ 'WPK1NAME, WPK2NAME, WPK3NAME, WPK4NAME '+ 'from "%s" order by KLASSE asc, NAME asc, Vorname asc', [TbSchueler.tablename]); QSchueler.prepare; QSchueler.open; datasource1.dataset := QSchueler; screen.Cursor := crdefault; end; |
Hilft das?
Gruß, Detlef
bummi - Di 15.11.11 08:17
meine BDE-Kenntnissse sind massiv angestaubt, aber weil ich das hier sehe TbSchueler.tablename .....
Was da nicht was mit Sessions wenn man verschiedene Datenbanken gleichzeitig offen halten will ....
jaenicke - Di 15.11.11 08:35
Hast du einmal versucht auch die DataSource oder auch die Table vorher zu schließen?
Sessions braucht man da nicht explizit, die werden z.B. bei Threads benötigt.
D. Annies - Di 15.11.11 18:11
Jo, habe ich schon, aber ohne Erfolg.
Ich kämpfe noch ... ich habe jetzt eine andere Query genommen, da sieht es schon besser aus ..
Bis denne, Detlef - ich melde mich wieder
jaenicke - Di 15.11.11 18:14
Dann kannst du Debug-DCUs aktivieren und genau schauen wo da das CheckActive fehlschlägt, also bei welchem Objekt. Und dann weißt du was genau noch offen ist.
D. Annies - So 20.11.11 10:00
Ich habe es geschafft:
Delphi-Quelltext
1: 2: 3:
| qx.SQL.Text := format('select Name, Vorname, Klasse, Gebdat, Telefon from "%s" ' + 'where gebdat like "%s" ' + 'order by Name, Vorname, Klasse', [TbName, Tag_Mon]); |
d.h. der "Trick" besteht im LIKE!
Alles hat ein Ende, nur die Wurst hat zwei!
Gruß, Detlef
vagtler - So 20.11.11 11:37
D. Annies hat folgendes geschrieben : |
| [...] d.h. der "Trick" besteht im LIKE! [...] |
Das ist Schwachsinn - das hat rein gar nichts mit Deinem beschriebenen Problem zu tun. Aber sowas von nichts.
D. Annies - So 20.11.11 13:13
Auf den ersten Blick scheint es so zu sein, aber bei genauerem Hinsehen ...
Es ist halt deine Meinung (engl.: Opinion)
Gruß, Detlef
Robert.Wachtel - So 20.11.11 13:31
D. Annies hat folgendes geschrieben : |
Auf den ersten Blick scheint es so zu sein, aber bei genauerem Hinsehen ...
Es ist halt deine Meinung (engl.: Opinion)
Gruß, Detlef |
Was hat das mit "Meinung" zu tun? :gruebel:
IT ist 'ne ziemlich deterministische Wissenschaft... :mahn:
D. Annies - So 20.11.11 14:30
Ok, ich verbessere: Deine Ansicht / Kenntnisstand.
Sry, Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!