Delphi-PRAXiS
Seite 8 von 9   « Erste     678 9      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank in VirtualTreeView anzeigen und auswerten (https://www.delphipraxis.net/130113-datenbank-virtualtreeview-anzeigen-und-auswerten.html)

generic 19. Mär 2009 10:06

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Zitat:

Zitat von Jens Hartmann
Was für mich bedeuten tut, will ich die ID im VST sehen, muss ich diese ja aus der Datenbankabfragen, Oder?

Ich würde die Daten in das Objekt für den VST kopieren.
Dann denn DB Insert ausführen und die letzte eingefügte ID auslesen.
Jedes DB System hat dafür Funktionen. Bei MYSQL ist last_insert_id und bei MSSQL Identity. Bei FB/IB weis ich es leider nicht, aber es wird sowas geben.
Die Id kopierst du auch in das Objekt und fügst das OBJ dem VST hinzu.

Der VST schert sich eigentlich nicht um die paar Knoten die du hast. Intensiver wird es mit einer halben Mio an Knoten.
Das ist dann aber auch eine Menge die kein Mensch mehr ansehen/auswerten wird.

Das Speicherproblem kannst du mit auch mit dem FastMM finden.
Ist kurz im Video erklärt bzw. in einen Entwickler ist ein Artikel (05/08) dazu.

hoika 19. Mär 2009 11:08

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Hallo,

Unter FB ab 2.0 gibt es die Returning Clause.

Bsp.
Tabelle mit Feldern ID, Name, ID wird über Trigger gesetzt.
Delphi-Quellcode:
with Query do
begin
  SQL.Clear;
  SQL.Add('Insert Into Table1(Name) Values(:Name) Returning Id');
  ParamByName('Name').AsString:= 'jippi';
  ExecSQL;   // oder Open, ausprobieren
  iNewId:= FieldByName('Id').AsInteger;
end;

Heiko

mkinzler 19. Mär 2009 11:13

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Muss .ExecSQL heissen
Parameter heisst RET_ID
Delphi-Quellcode:
iNewId:= ParamByName('RET_ID').AsInteger;
Besser per Position
Delphi-Quellcode:
iNewId:= Params[1].AsInteger;

Jens Hartmann 19. Mär 2009 17:55

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Hallo zusammen,

Danke erstmal für die vielen, vielen antworten. Ich muss leider momentan immer viel arbeiten, und konnte mich bislang noch nicht intensiv mit den anworten befassen. Ich habe sie zwar alle gelesen, nur noch nicht intensiv versucht Sie umzusetzen. Also, bitte nicht glauben ich hätte kein Interesse an Euren antworten.

Gruß Jens

PS. Heute und Morgen Abend, werde ich mich dem Problem mal wieder widmen.

Jens Hartmann 19. Mär 2009 20:07

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habe jetzt mal alles so weit durchgesehen, und versuche gerade, mich in die SQL Sprache zu arbeiten. Leider scheitert meine Abfragende Eingrenzung von Daten schon bei der einfachen Eingrenzung auf ein Spalte der Datenbank.

Ich habe vrsucht, zu Übungszwecken folgenden Aufruf über Button zu realisieren. Und bekomme unten angehangene Fehlermeldung.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    QRyMB256PLUS.Close;
    QryMB256PLUS.SQL.Text := 'Select ID From MB256PLUS';
    QryMB256PLUS.Open;
end;
Seltsamer weise frage ich nach dem Spalte ID, bekomme aber einen Fehler auf die Spalte LfdNr :gruebel:

Gruß

Jens

mkinzler 19. Mär 2009 20:09

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Du wirst ein persistentes Zugriffsfeld für die Spalte 'LfdNr' angelegt haben, welches nun keine Entsprechung im DataSet mehr hat.

Jens Hartmann 19. Mär 2009 20:10

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Was heißt das. Womit leg ich sowas an.

mkinzler 19. Mär 2009 20:12

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Doppelklick auf DataSet (Table, Query)

Jens Hartmann 19. Mär 2009 20:13

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
HierVieleicht sowas hier...

mkinzler 19. Mär 2009 20:15

Re: Datenbank in VirtualTreeView anzeigen und auswerten
 
Die Frage ist, ob du mit persistenten Felder arbeitest, wenn ja darf die Struktur der Ergebnismenge nicht geändert werden


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Seite 8 von 9   « Erste     678 9      

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