Announcement

Collapse
No announcement yet.

BDE-Fehler:Verbindung wird von einer anderen Anweisung benutzt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BDE-Fehler:Verbindung wird von einer anderen Anweisung benutzt

    Hallo !

    Ich habe ein Problem mit Delphi 1.02 C/S (BDE 2.51). Beim Öffnen einer Query erhalte ich folgenden EDBEngineError: Diese Verbindung wird von einer anderen Anweisung benutzt.<br>
    Leider kann ich mit dieser Meldung nichts anfangen. Bitte helft einem Anfänger. Danke !

  • #2
    Hallo,

    das hört sich so an, als ob eine via TQuery an eine SQL-Datenbank abgeschickte SELECT-Abfrage vom Client "abgewürgt" wurde und nun in der gleichen Session eine neue Abfrage gestartet wird, obwohl der SQL-Server mit der ersten Aufgabe noch nicht fertig ist.

    Falls das nicht der Fall ist, was wird vorher im Programm gemacht

    Comment


    • #3
      Hallo Herr Kosch,

      Danke fuer den schnellen Hinweis. Die Query-Komponente oeffne ich mehrmals in einem Formular ueber Open (vorher Prepare). Nach Gebrauch schliesse ich sie wieder mit Close (danach Unprepare). Im naechsten Schritt oeffne ich sie wieder mit Open. Dann tritt der BDE-Fehler auf.
      Kann es sein das die Verbindung zum Server nicht getrennt wird ?
      Hinweis: Ich benutze keine TSession-Komponente.
      Danke.
      Marcel Nolt

      Comment


      • #4
        Hallo,

        da eine mit Delphi 1 erstellte Anwendung eine 16-Bit-Anwendung ist und unter Win16 keine Threads zur Verfügung stehen, wird auch TSession an dieser Stelle nicht benötigt.

        Was bedeutet "Die Query-Komponente oeffne ich mehrmals in einem Formular ueber Open (vorher Prepare)."? Wird das Formular mehrfach gleichzeitig geöffnet?

        Wie sieht die konkrete Implementierung des Aufrufs aus? Was passiert, wenn die expliziten Prepare/Unprepare-Aufrufe auskommentiert werden

        Comment


        • #5
          Hallo !
          Danke fuer das erneute Feedback.
          Zum Programmablauf:
          - die Query1 befindet sich "in einem" Hauptformular
          - das Hauptformular ruft ein Unterformular auf, ueber das die Datenbasis (SQL-Server-Tabelle) von Query1 bearbeitet wird
          - damit das Hauptformular die aktuellen Daten besitzt, fuehre ich beim OnClose-Ereignis des Unterformulares die Query1 erneut aus !

          WITH Query1 do
          BEGIN
          CLOSE;
          PREPARE;
          PARAMBYNAME.....
          OPEN;
          END;

          "Open" erzeugt dann die Fehlermeldung, das die Verbindung bereits von einer anderen Anweisung benutzt wird.

          Irgendwas mache ich falsch - aber was ?
          Gruss
          Marcel Nolt

          Comment

          Working...
          X