Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO Guru gesucht (https://www.delphipraxis.net/173724-ado-guru-gesucht.html)

Perlsau 13. Mär 2013 18:05

AW: ADO Guru gesucht
 
@haentschman:

Wäre es nicht möglich, deiner Einfüge-Procedure eine eigene Datenbank-Komponente, z.B. ein AdoDataset bzw. ein AdoQuery zu spendieren und die dann am Ende wieder freizugeben, um danach mit einem einfachen AdoTable.Refresh die Original-Komponente zu aktualisieren?

haentschman 13. Mär 2013 18:20

AW: ADO Guru gesucht
 
Sooo... mal ein Originalkonstrukt:
Delphi-Quellcode:
procedure WriteSort(ds: TDataSet);
    var
        i: integer;
    begin  
        for i := 0 to sl.Count - 1 do begin
            if ds.Locate('ID', Integer(sl.Objects[i]), []) then begin
                ds.Edit;
                try
                    ds.FieldByName(SortFeld).AsInteger := (i + 1) * 2;
                    ds.Post; // -> hier knallts
                except
                    ds.Cancel;
                    raise;
                end;
            end else begin
                raise Exception.Create('Locate fehlgeschlagen für ID ' + sl.Strings[i]);
            end;
        end;
    end;
.. da das an so vielen Stellen vorkommt glaube ich langsam nicht an einen simplen Fehler.

@Perlsau:
Das geht leider nicht so einfach. Die DataSets kommen aus einem Framework und sind komplett verteilt und verknotet. Da kann man nicht einfach was umoperieren :zwinker:

Nachtrag: Inzwischen habe ich gesehen, daß Stellen, die einen Fehler produzierten, durchlaufen und andere Neue sich beschweren. Das riecht doch nach einem Grundsatzproblem !
Zitat:

'Die zum Aktualisieren angegebene Zeile wurde nicht gefunden. Einige Werte wurden seit dem letzten Lesen ggf. geändert'.

jobo 13. Mär 2013 18:27

AW: ADO Guru gesucht
 
Wo ist da jetzt das Append?
Du bekommst ein Dataset, das offenbar in State dsbrowse ist.
In der Menge lokalisierst Du einen DS, der dann ein Update erhält.

haentschman 13. Mär 2013 18:33

AW: ADO Guru gesucht
 
:-D Ob Append oder nicht. Es knallt entweder beim Post oder Refresh (zu anderen Gelegenheiten).

jobo 13. Mär 2013 18:46

AW: ADO Guru gesucht
 
Falls im angegeben Beispiel die Fehlermeldung zum Quelltext passt:
Bezieht sie sich wohl eher auf das ds.Cancel (was wohl unnötig ist)
Lass das mal weg und schau Dir die Fehlermeldung an.
BTW: Geschieht das in der IDE oder bei der laufenden Anwendung?

haentschman 13. Mär 2013 18:57

AW: ADO Guru gesucht
 
Das passiert sowohl in der IDE als auch normal.
PS: bin jetzt am Arbeitsplatz weg... kann erst morgen testen.

Frage nebenbei:
Ich habe die Idee die Tables durch anderes auszutauschen ADODataset oder Query(select *)... wie die sich verhalten. Meint ihr, daß der Aufwand lohnt ? Das geht relativ einfach, da im Framework auszutauschen.

DeddyH 13. Mär 2013 19:02

AW: ADO Guru gesucht
 
Ich bin jetzt nicht so ADO-affin, aber ich denke, TADOTable bietet wie der Name schon sagt Zugriff auf genau eine Tabelle. Das mag bei DDL-Anweisungen ja noch angehen, für Abfragen ist das aber doch unnötig unflexibel, oder?

haentschman 13. Mär 2013 19:06

AW: ADO Guru gesucht
 
Zitat:

TADOTable bietet wie der Name schon sagt Zugriff auf genau eine Tabelle.
...und genau das ist in diesen Fällen gewünscht mit der gesamten Datenmenge.

DeddyH 13. Mär 2013 19:12

AW: ADO Guru gesucht
 
Das ist aber mit einem TADODataset auch machbar, man muss eben das SQL selbst definieren.

haentschman 13. Mär 2013 19:15

AW: ADO Guru gesucht
 
Ist das auch bidirektional ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr.
Seite 3 von 5     123 45      

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