Announcement

Collapse
No announcement yet.

Unbekanntes Problem

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

  • Unbekanntes Problem

    Vor kurzem habe ich mich mal wieder an die Datenbank-Programmierung gewagt und konnte gleich mit einem für mich unbekannten Fehler aufwarten.
    Also, folgendes Problem.
    Ich habe ein Programm gebastelt, dass eine Artikelverwaltung darstellt. Das Programm läuft eigentlich schon seit einem guten Jahr absolut problemlos. Nun möchte der Kunde aber gerne eine Update-Funktion in das Programm eingebaut bekommen. Dieses Update soll alle verkauften Datensätze filtern und in eine zweite Datenbank speichern.<br>
    Das soll wie folgt ablaufen:<br>
    Das Programm startet als normale Artikelverwaltung. Per Knopfdruck kann dann aber auch in die zweite Tabelle eingesehen werden.<br>
    Mit einem anderen Button wird dann das Update mittels einer SQL-Abfrage gestartet (Query1.Active:=True).<br>

    insert into 'verkauft\verkauft.db' // zweite Datenbank <br>
    select *<br>
    from 'artikel.db' // erste Datenbank<br>
    where VK IS NOT NULL // mit VK ist eine Spalte in der Tabelle gemeint<br>

    Wenn ich dieses Update ausführe, kommt aber folgende Fehlermeldung:<br>
    <b>Fehler beim Erstellen des Cursor-Handle</b><br>
    Das Update wird aber ausgeführt und in der zweiten Tabelle stehen dann auch die selektierten Daten.<br>
    Überprüfe ich die Geschichte mit dem Debugger, dann kommt <b>ENoResultSet</b><br>
    Tja, wie kann ich diese Fehlermeldung nun beseitigen und wie bekomme ich die selektierten Daten auch aus der Quell-Tabelle gelöscht???
    Für etwas Hilfe wäre ich überaus dankbar

    mfg

    Torsten

  • #2
    Hallo Torsten,

    die Datensätze kannst Du mit der gleichen Bedingung löschen, mit der Du Dein Update ausgeführt hast:<br>
    delete from 'artikel.db' // erste Datenbank<br>
    where VK IS NOT NULL // mit VK ist eine Spalte in der Tabelle gemeint<br>
    Zu der Fehlermeldung: Sind die Felder in Quell- und Zieltabelle absolut identisch was Anzahl, physische Reihenfolge und Datentypen angeht?

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo,

      eine TQuery, die keine Daten zurückliefert, darf nicht mit Active geöffnet werden, sondern nur mit <b>ExecSQL</b>. Beim Einsatz von <i>Active := True</i> erwartet TQuery eine anzuzeigende Datenmenge, die jedoch bei einer INSERT-Anweisung nicht zurückgeliefert wird (daher auch die Fehlermeldung <i>Fehler beim Erstellen des Cursor-Handle
      </i>)

      Comment


      • #4
        Hallo,

        besten Dank für die schnellen und wie immer zuverlässigen Antworten.
        Mir konnte mal wieder geholfen werden.

        mfg

        Torsten Blot

        Comment

        Working...
        X