Announcement

Collapse
No announcement yet.

2Datenbänke vergleichen und ändern

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

  • 2Datenbänke vergleichen und ändern

    Hallo und Guten Morgen zusammen.
    ich möchte 2 Datenbänke in Delphi 4 vergleichen, die den gleiche Index und die gleichen Felder haben.
    Sollte beim vergleichen ein Feld einen anderen wert haben so soll er den wert der 1 Datenbank annehmen.
    Ich habe folgendes aus probiert ich bekomme aber immer die Fehlermeldung.
    Ich weis auch nicht ob der SQL Code richtig ich??

    „Fehler beim Erstellen des Cursor-Handle.“

    Was mache ich falsch
    Hier mein SQL Code:

    1: Query.sql.Text:=
    'update stueckliste set lagerb = (select lagerb from lager where stueckliste.pos = lager.pos)where exists (select pos from lager where lager.pos = stueckliste.pos)';

    Mfg.
    Robert


  • #2
    Moin,

    sieht für mich erstmal nach gültigen SQL aus.
    Da das wohl eine Query Komponente ist mußt du aber Query.ExecSQL benutzen und nicht Query.Open um das SQL auszuführen. Besser du benutzt gleich eine Command Komponente.

    Achja wenn deine Datenbank eine From-Clause bei Updates unterstützt ist folgendes einfacher.

    update stueckliste
    set lagerb = lager.lagerb
    from lager
    where lager.pos = stueckliste.pos

    Ral

    Comment


    • #3
      Habe beide Tipps von dir ausprobiert.
      Mit dem Zusatz Query.ExecSQL hat sich mein Problem nicht geändert.

      Bei deinem Beispiel bekomme ich die Fehlermeldung.
      „Ungültiges Schlüsselwort Symbol-String : From“
      Hilfe :-)

      Rober

      Comment


      • #4
        Hmhh,

        wir brauchen mehr Details. Welche DB und welche Dataset Komponenten benutzt du?

        Ral

        Comment


        • #5
          Hei,
          ich benutze dBase Datenbank und TTable TQuery,
          Rober

          Comment


          • #6
            Dann kann mein SQL nicht funktionieren und du solltest bei deiner Version bleiben.

            Das benutzten von Query.ExecSQL sollte das Problem eigentlich beheben. Du bist dir sicher das vorher kein Query.Open oder Query.Active = True im Code ist?

            Ral

            Comment


            • #7
              Ich Danke euch für eure Geduld. habe den Fehler gefunden, ganz am ende meiner Proceture hatte ein Query.active:=true;
              Und nochmals Vielen Dank
              Es Klappt nun prima mit meinem Code

              Comment

              Working...
              X