TDataset tutorial?^^

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

TDataset tutorial?^^

Beitrag von EugenE »

Hey,

bin grade dabei die TODBCConnection zu erweitern und da wäre es gut wenn man zB bei der Auflistung von Columns die Datentypen, Größen etc zurückgeben könnte ohne hunderte TStrings zu nutzen

habe es schon mit TDataset aber irgendwie bekomme ich es nich hin :( , hat jemand nen tutorial oder nen kleines beispiel um:

- spalten hinzuzufügen
- 2-3 datensatze
- den Dataset in einem TDBGrid anzuzeigen

[OffTopic] Die neue TODBCConnection kann die Driver/ DSNs / Tabellen / Spalten einer Tabelle auflisten :), leider unter Linux gibts paar probleme, zB bei dem Spaltentyp/größe, naja hängt aber am MDBTools-ODBC-Driver von daher .... haben die Linux-Leute pech :P [/OffTopic]

Gn8 ^^

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

Habe mal versucht nen einfaches TDataSet zu erzeugen mit 2 Spalten, aber ...

Code: Alles auswählen

ds := TDataSet.Create(nil);
   ds.Open; //hier kommt ein Fehler, auch wenn man Active:=True setzt
                   //Abstract Method Called, hmm?^^
 
  with ds.FieldDefs do begin
      Add('x',ftString);
      Add('y',ftString);
   end;
 
   ds.Append;
   ds.FieldValues['x']:='A';
   ds.FieldValues['y']:='B';
   ds.Post;
was für ne Abstract Method rufe ich den bitte auf? :(

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

na tdataset ist doch keine benutzbare klasse
davon kannst dir höchstens ein eigenes ableiten
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

achso ist das xD

gut was wäre wenn ich jez ne klasse davon abgeleitet habe wie füge ich da daten ein?^^

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wie Daten einfügen ?
Scau dir mal ein Pascal Tuturial an mit besonderem Augenmerk auf Vererbung.

Außerdem brauchst du gar kenen TDataSet abkömmling. Bei SQLdb gibts nur ne TXXXConnection in der die gesamte Logik zum verwalten der Verbindung versteckt ist.
Und TODBCConnection gibts doch schon die musst du dir nur mal kopieren und dran rumbasteln.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

ne ich wollte so eine art TODBCMetadata erstellen , das wäre dann von TDataset abgeleitet aber wie packe ich da jez daten rein damit andere diese daten auslesen können ^^

muss doch irgendwie funktionieren dafür sind ja diese TDataset da oder nich?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Um Metadaten anzuzeigen ? Nö. Um Daten bereitzustellen, ja.
Schau dir mal ein paar DataSet abkömmlinge an. TSQLite3DataSet wäre z.b. ein Kandidat. Es ist nicht ganz trivial ein eigenes Dataset zu basteln aber mit etwas Einarbeitung kein Problem.

http://delphi.about.com/gi/dynamic/offs ... efault.htm

Aber wenn du willst das dein ode in die FCL aufgenommen wird solltest du dich lieber an die Struktur von SQLdb halten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Beitrag von piper62 »

Hallo,
schon mal in die ZEOS Lib reingeschaut?
Da gibts eine TZSQLMetadata, kann ich nur empfehlen.

Gruss,
Tibor

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

piper62 hat geschrieben:Hallo,
schon mal in die ZEOS Lib reingeschaut?
Da gibts eine TZSQLMetadata, kann ich nur empfehlen.

Gruss,
Tibor
Ja klar ich arbeite selbst mit ZEOS Lib,

doch leider

kann es kein MS Access, also musste ich mir ne alternative suchen da wäre nur ODBC, doch leider ist die ODBC Schnittstelle mit Lazarus sehr mager und diese hat auch keine Metadaten :) , darum mache ich jez ne ODBCMetadata denn diese brauche ich für meinen Editor :)

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

Hm irgendwie schaffe ich es nich ne komponente von TDataset abzueleiten und diese zb auf dem DBgrid anzuzeigen. Naja ich nehme jetzt einfach mal nen TMemDataSet und leite davon die Komponente ab , und schon funktionierts ^.^

ich denke mal wird nich so schlimm sein wenn ich es von TMemDataSet ableite oder?

Antworten