AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Welche Aufgabe hat ein Dataset u. wie setzt man es ein?

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

Ein Thema von DelphiManiac · begonnen am 19. Apr 2007 · letzter Beitrag vom 20. Apr 2007
Antwort Antwort
Seite 2 von 2     12
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#11

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

  Alt 19. Apr 2007, 15:20
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ß
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#12

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

  Alt 19. Apr 2007, 15:35
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
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#13

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

  Alt 20. Apr 2007, 09:03
@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
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#14

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

  Alt 20. Apr 2007, 10:26
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??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

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

  Alt 20. Apr 2007, 12:55
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;
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#16

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

  Alt 20. Apr 2007, 15:37
@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



Gruß
Miniaturansicht angehängter Grafiken
error_135.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#17

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

  Alt 20. Apr 2007, 15:39
Das , nach m.Name ist zu viel
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#18

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

  Alt 20. Apr 2007, 15:42
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

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)
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#19

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

  Alt 20. Apr 2007, 17:46
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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:32 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