Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL: JOIN und UPDATE (https://www.delphipraxis.net/131804-sql-join-und-update.html)

p80286 31. Mär 2009 17:56

Re: SQL: JOIN und UPDATE
 
Zitat:

Zitat von ts-d
Danke - schön umständlich, aber immerhin eine Lösung.

mach doch etwas in dem Stil:
SQL-Code:
select 'UPDATE tabelle1 SET tabelle1.feld1='||tabelle2.wert||' WHERE tabelle1.satznr='||xxxxx
from ......
Du läßt Dir also den Update als Ergebnis eines Selects ausgeben.
Dann hast Du die Tipparbeit nur einmal, und hast Die Chance deine Datensätze nöch einmal zu überprüfen.
(und Du findest auch die Doublette)

Gruß
K-H

omata 31. Mär 2009 21:36

Re: SQL: JOIN und UPDATE
 
wurde schon erwähnt, sorry.

ts-d 1. Apr 2009 09:11

Re: SQL: JOIN und UPDATE
 
Habe gerade die Lösung laufen, das per Code in Delphi zu programmieren, jeweils einen Wert auszulesen per FieldValues (aus Tabelle Rabatte.db) und den Wert dann per ExcelSQL (aus einer Abfrageinstanz heraus) in der Tabelle Auftragpos.db zu aktualisieren.

Mann-o-Mann dauert das lange, läuft schon ne halbe Stunde und ist erst halb durch! (ca. 11.000 Datensätze)

Bernhard Geyer 1. Apr 2009 09:16

Re: SQL: JOIN und UPDATE
 
Das ist halt BDE/Paradox. Wie schon oben vorgeschlagen kommst du mit TTable-Komponente und den dort verfügbaren Find/SetRange-Methoden schneller zum ziel. Frag mich aber nicht nach Code. BDE ist schon lange bei uns entsorgt.

ts-d 1. Apr 2009 11:26

Re: SQL: JOIN und UPDATE
 
... Code ist kein Problem.

Welches System würdest du den als Alternative wählen?
Möglichst eins, bei dem man nicht den ganzen alten Code komplett neu programmieren muss...

hoika 1. Apr 2009 11:47

Re: SQL: JOIN und UPDATE
 
Hallo,

und wieder die alte Frage nach der Datenbank ...

Firebird z.B. (www.ibphoenix.com, dort gibt es Artikel zum Umstieg)

Ich habe vor ein paar Jahren unsere Pdx-DB umgestellt.
Um das stellenweise neucodieren kommst du trotzdem nicht rum.

Ich war immer noch bei der BDE(SQL-Links).

Gerade bei grossen Tabellen ist TTable stellenweise grottenlahm,
ist ja auch nicht dazu gedacht.
Ich musste also eine TQuery nehmen und den schönen TTable-Code neuschreiben.

Dein aktuelles Problem kommt übrigens durch die Verwendung einer TQuery
beim Update.

Wenn alle benötigten Werte aus der Quelltabelle per TTable (SetRange)
holen würdest, also nicht einzeln,
und dann über eine TTable schreibst, geht es sehr viel schneller.

Pdx: TTable guttt
SQL-DB: TQuery guttt


Heiko

joachimd 2. Apr 2009 08:56

Re: SQL: JOIN und UPDATE
 
Zitat:

Zitat von hoika
Gerade bei grossen Tabellen ist TTable stellenweise grottenlahm,
ist ja auch nicht dazu gedacht.
Ich musste also eine TQuery nehmen und den schönen TTable-Code neuschreiben.

um solcherlei Probleme kommst Du herum, wenn Du ein DBMS wählst, das ISAM unterstützt. Advantage Database Server ist eines derer;)

hoika 2. Apr 2009 09:00

Re: SQL: JOIN und UPDATE
 
Hallo,

war das gerade versteckte Werbung ? ;)


Heiko

joachimd 2. Apr 2009 10:24

Re: SQL: JOIN und UPDATE
 
Zitat:

Zitat von hoika
war das gerade versteckte Werbung ? ;)

nein - eine offene;)

ts-d 2. Apr 2009 17:52

Re: SQL: JOIN und UPDATE
 
Hallo Heiko,

wie meinst du das: direkt über eine TTable gehen und nicht über die TQuery?
(entschuldige die vielleicht dumme Frage)


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

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