Fragen zu Query Änderungen



  • Hallo erst mal,

    ich hätte eine kurze Frage da ich im Moment nicht weiterkomme,

    ich möchte gerne in meinem Programm zur Laufzeit die Eigenschaft "DatabaseName" der Komponente "Query" ändern. Nach meinem ersten Versuch erhielt ich folgenden Exception Fehler:
    Query1: Cannot perform this operation on an open Dataset

    So weit so gut denk ich mir ist ja auch ganz Normal das er bei einer aktiven Verbindung zu einer Datenbank nicht die Eigenschaft DatabaseName ändern lässt.

    Mein erster lösungsversuch sah dann ungefähr so aus: 😃

    Query1->Active="false";
    Query1->DatabaseName=Label1->Caption;
    Query1->Active="true";

    Leider bring das trotzdem die selbe Fehlermeldung hervor. 😕

    P.S. Am Standort von Label1->Caption liegen die gleichen DB Dateien so das es daran schon mal nicht liegen kann.



  • Hallo!

    Hast Du denn auch die Tabelle geschlossen, die in DataSource steht?
    Meiner Meinung nach versucht Du, ein Verzeichnis zu ändern, in dem eventuell auch andere Tabellen stehen. Daher denke ich, daß es wichtig ist, die zugehörige Tabelle zu schließen, den DatabaseName zu ändern und dann in DataSource den neuen Tabellennamen einzutragen.



  • Query1->Active="false";
    Wenn du das wirklich so geschrieben hast, dann versuch mal zu überlegen, was sich ändert wenn man die Anführungsstiche wegläßt und warum es ohne richtig ist.
    Abgesehen davon läßt es sich schöner lesen, wenn man Q->Close() und Q->Open() verwendet.



  • Danke für den Wink mit dem Zaunpfahl "" 🙄. Auf jeden Fall funktioniert das jetzt.

    Vali


Anmelden zum Antworten