AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?
Thema durchsuchen
Ansicht
Themen-Optionen

ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?

Offene Frage von "DataCool"
Ein Thema von DataCool · begonnen am 7. Aug 2009 · letzter Beitrag vom 26. Aug 2009
Antwort Antwort
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?

  Alt 7. Aug 2009, 09:19
Datenbank: ADS • Version: 9.0 • Zugriff über: native
Hi Leute,

ich habe ein kleines bis mittelschweres Problem:

Ich habe hier eine AdsTable die keinen PK hat(jaja keine Kommentare dazu, war vor meiner Zeit)
Die Daten der Tabelle werden ausgelesen und als Referenz auf den Datensatz werden RecNo(Variante 1) und/oder Bookmark(Variante 2) gespeichert.
Beim Klick auf einen Button werden die Daten des noch geöffnetten Tables via SQL geändert.
UPDATE xyztable set a='a', b='bwhere a='1and b='0' ^^ reines Beispiel

Danach wird der Table refreshed:
Delphi-Quellcode:
  xyzTable.disableControls;
  xyzTable.refresh;
  xyzTable.enableControls;
Wird jetzt in mein Anzeigeelement geklickt, sollen der Table auf den dazugehörigen Datensatz positioniert werden;
Dieses schlägt bei .GoTo(RecNo) und/oder .GotoBookmark(aBookmark) fehl;
Exception: Datensatz nicht gefunden!

Hat jemand eine warum ? Sind RecNo und Bookmarks nach einem Update nicht mehr gültig ?

Bin für jede Hilfe dankbar,

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?

  Alt 7. Aug 2009, 13:18
Warum machst du das Update über ein externes Statement? Ändere doch die Daten in der Tabelle direkt über eben deine Table-Komponente und mache danach ein POST. Dann benötigst du kein Refresh, die Daten sind aktuell und du musst nicht zum Datensatz springen, weil du noch drauf stehst.
Oder werden mit dem UPDATE eventuell mehrere Datensätze verändert?
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?

  Alt 7. Aug 2009, 13:42
Hi,

es werden mehere Datensätze geändert, trotzdem wäre die Änderung direkt im Table möglich.
Werde das gleich mal testen, glaube aber das ich das auch schon versucht hatte;
Das Ändern geht in allen Varianten,
bloss stimmen danach die RecNo/Bookmarks nicht mehr, die ich zu den einzelnen Datensätzen in der visuellen Komponente gespeichert habe.
Beim Versuch darüber zu positionen gibts eine Exception(Datensatz nicht gefunden).

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#4

Re: ADS Table; nach Update SQL RecoNo/Bookmarks ungültig ?

  Alt 26. Aug 2009, 13:19
Zitat von DataCool:
Hat jemand eine warum ? Sind RecNo und Bookmarks nach einem Update nicht mehr gültig ?
nicht zwingend. Bookmark und Recno funktionieren zuverlässig nur bei einem direkten Tabellenzugriff. Ich schlage vor, in das select-Statement die RowId mit aufzunehmen und dann darauf zu positionieren.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz