Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO Daten in gleicher Tabelle kopieren (https://www.delphipraxis.net/109113-ado-daten-gleicher-tabelle-kopieren.html)

mkinzler 24. Feb 2008 20:15

Re: ADO Daten in gleicher Tabelle kopieren
 
Zitat:

Da kommt nach ExecSQL ein Syntaxfehler in der InsertInto Anweisung.
Und was wird angemahnt?

Smiley 24. Feb 2008 20:27

Re: ADO Daten in gleicher Tabelle kopieren
 
OK so gehts, hatte das mit der Eckigen Klammer von einer allgemeinen SQL-Seite oder hab das falsch interpretiert.
Das hinter dem Select war natürlich Blödsinn, wurde einfach mitkopiert von oben drüber.

Die BestellNr ist ein eindeutiger Index aber nicht der Primärindex das ist ID und die ist ein Autowert.

Jetzt ist das Problem, wie finde ich meinen Datensatz denn wieder.
Das geht doch eigentlich nur über die ID.
Muss ich mir also erst die letzte ID auslesen incrementieren und dann danach selektieren oder index auf ID setzen und DM.QKat.Last machen.
Oder gehts noch einfacher ?

Als nächstes soll der Anwender jetzt ja seine Daten ändern können und die neue BestellNr eingeben.

mkinzler 24. Feb 2008 20:29

Re: ADO Daten in gleicher Tabelle kopieren
 
Zitat:

Als nächstes soll der Anwender jetzt ja seine Daten ändern können und die neue BestellNr eingeben.
Dann würden sich ja (SQL-)Parameter anbieten

Smiley 24. Feb 2008 20:34

Re: ADO Daten in gleicher Tabelle kopieren
 
Der Anwender hat ein Formular mit DBEdit Feldern vor sich die auf diesen Datensatz zeigen.
Dort soll er seine Änderungen vornehmen und dann "Speichern" drücken ansonsten muss ich den Datensatz wieder löschen.

@mkinzler
Die Fehlermeldung hieß: "Syntax Fehler in Insert Into Anweisung"

omata 24. Feb 2008 20:51

Re: ADO Daten in gleicher Tabelle kopieren
 
In MSSQL kann man den letzten eingefügten Autowert so ermittelt...
SQL-Code:
SELECT @@Identity AS ID
Ob das auch mit Access geht weiss ich nicht.

Gruss
Thorsten

Smiley 24. Feb 2008 21:46

Re: ADO Daten in gleicher Tabelle kopieren
 
Ich habe es jetzt so gelöst, das läuft überall, denk ich mal.

Delphi-Quellcode:
  DM.QKat.SQL.text := 'Select * from Kataloge order by id';
  DM.QKat.Open;
  DM.QKat.Last;

  LBestellNr := InputBox('Bitte neue Bestellnummer eingeben', 'Bestellnummer:', '');

  if LBestellNr <> '' then
    begin
      DM.QKat.Edit;
      DM.QKat.FieldByName('BestellNr').AsString:=LBestellNr;
      AktBestNr := LBestellNr;
      DM.QKat.Post;
    end
  else
    begin
      DM.QKat.Delete;
    end;

  DM.QKat.SQL.text := 'Select * from Kataloge order by BestellNr';
  DM.QKat.Open;
  DM.QKat.Locate('BestellNr', AktBestNr, []);
So funktioniert es bisher bei mir, falls jemand etwas dagegen anzumerken hat, nur zu !!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz