Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welche Aufgabe hat ein Dataset u. wie setzt man es ein? (https://www.delphipraxis.net/90550-welche-aufgabe-hat-ein-dataset-u-wie-setzt-man-es-ein.html)

DelphiManiac 19. Apr 2007 14:20

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Ja, ich habe auch schon mit C# auf dem .Net-Framework programmiert,

deswegen meine Frage mit dem Dataset, aber es scheint da ja schon unterschiedlich implementiert zu sein,

ist ja auch logisch, nicht umsonst hat Microsoft sein 'Datset' so angepriessen als absolute Neuerung :-)

Gruß

Jelly 19. Apr 2007 14:35

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Du kannst ein Dataset unter .NET nun aber auch gar nicht mit dem Dataset aus Delphi32 vergleichen.

Aber mal kurz zu deinem Frontend.
Um die Daten in die TextFelder zu kriegen brauchst du folgende Komponenten:

TConnection (z.B. TADOConnection, TDatabase u.v.m.... je nach Datenbank)
TDataset (z.B. TADOQuery, TQuery, TSimpleDataset...)
TDatasource
TDBEdit

Die TConnection baut die Verbidnung über irgendeinen Treiber zu deiner Datenbank auf. Es dabei erst mal egal ob es sich um eine Desktop Paradox Datenbank oder um einen dicken fetten SQL Server handelt).

Das TDataset musst du mit deiner Connection verknüpfen. Das Dataset ist der Ort, in dem du deine Select-Befehle eingibst (z.B. SQL Eigenschaft von TADOQuery)

TDatasource ist die Komponente welche das Verbindungsstück zwischen Dataset und deinen visuellen VCL Controls darstellt. Logischerweise musst du die Eigenschaft Dataset entsprechend setzen.

Dann gibts die ganzen TDBEdit, TDBGrid... Sachen. Die verknüpfst du mit der Datasource. Dann gibts du noch die Eigenschaft Datafield an und, und schon siehst du den Inhalt vom markierten Datensatz direkt im DBEdit.

Das Dataset besitzt Methoden zum Durchlaufen (Next, Prior, First, Last) und positioniert den aktuellen Cursor neu. Rufst du solch eine Methoder zu Laufzeit auf, wirst du merken wie deine DBEdit Felder ihren Inhalt wechseln. Änderst du etwas händisch in den DBEdit Felder, so kannst du die Änderungen direkt mit der Methode Post im Dataset in die Datenbank schreiben (mit Cancel übrigens die Änderungen wieder zurücknehmen).

Ist doch erst mal alles ganz leicht oder :thumb:

DelphiManiac 20. Apr 2007 08:03

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
@Jelly:

Hi Danke Dir!!!

Das war genau die Erkärung die ich an der Stelle gebraucht habe,
jetzt weiß ich ersteinmal wie ich vorgehen muss, werde mich mit Sicherheit nochmal
(bei der nächsten Frage) melden...

Danke

Gruß
DelphiManiac

DelphiManiac 20. Apr 2007 09:26

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Eine Frage hätte ich da:

Ich habe jetzt einen Kundentabelle:

tblKunden
-------------
->Kunden_ID
->Anrede
->Name
->Vorname.... usw

tblAnrede
-------------
->Anrede_ID
->Anrede (Beispiel 'Herr','Frau', 'Dr.'....)


Wenn ich jetzt meine Datset mit der Tabelle Kunden fülle habe ich ja nur die ID von Anrede aber nicht die Verknüpfung zur
Tabelle Anrede. Dann muss ich doch einen Join mit der Tabelle machen oder??

mkinzler 20. Apr 2007 11:55

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
das kann man durch einen Join ändern:

SQL-Code:
select
    k.Kunden_ID,
    a.Anrede,
    k.Name,
    ...
from
    tblKunden k join tblAnrede a on a.Anrede_ID = k.Anrede;

DelphiManiac 20. Apr 2007 14:37

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Liste der Anhänge anzeigen (Anzahl: 1)
@mkinzler:


Hi Danke für deine Antwort,
ja komischerweise versuche ich es auch über einen Join, aber es klappt nicht:

Folgenden SQL-Code verwende ich:

SQL-Code:
SELECT a.Anrede,
       m.Vorname,
       m.Name,
FROM tblMandanten m
JOIN tblAnrede a ON m.Anrede=a.Anrede_ID;
Aber ich bekomme folgenden Fehler: (Bild im Anhang)
Lass dich aber nicht irreführen, ist eine Eurekalog-Exception, die meine IDE überwacht, und die Exception abfängt und anzeigt

:roll:

Gruß

mkinzler 20. Apr 2007 14:39

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Das , nach m.Name ist zu viel

DelphiManiac 20. Apr 2007 14:42

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Hey,

jetzt wo du es sagst sehe ich den Fehler, Name ist schon OK,
aber habe ein Komma zu viel,... und ich hab mir eben die Augen wund gesucht :shock:

Muss mal gucken, wie ich das zurückschreiben in die DB mache,
wenn ich z.B.: die Anrede ändern will..

Aber nochmal vielen Dank (4 Augen sehen mehr als 2) :shock: :shock:

Jelly 20. Apr 2007 16:46

Re: Welche Aufgabe hat ein Dataset u. wie setzt man es ein?
 
Zitat:

Zitat von DelphiManiac
Muss mal gucken, wie ich das zurückschreiben in die DB mache,
wenn ich z.B.: die Anrede ändern will..

Dazu könntest du z.B. neben den TDBEdit Objekten ein TDBLookupCombobox verwenden.
Willst du mit einem TDBGrid die Anreden auswählen können, so musst du mit persistenten Datenfelder deines TDatasets arbeiten (Doppelklick auf TDataset) und ein Lookupfeld hinzufügen.


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

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