AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi datenbank Problem!!!
Thema durchsuchen
Ansicht
Themen-Optionen

datenbank Problem!!!

Ein Thema von The_Tremendous · begonnen am 10. Dez 2004 · letzter Beitrag vom 10. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#1

datenbank Problem!!!

  Alt 10. Dez 2004, 14:23
HI.

Also vorweg, ich bin totaler Programmierneuling.


Ich arbeite im Moment daran, eine Datenbank in Form eines Fahrtenbuchs zu programieren. Das ganze soll Objekt orientiert sein.

Hab das Problem, das ich nun mit einem neuen Fahrzeug auch eine neue Paradox 7 Tabelle erstellen muss.

Ich habe eine Klasse TFahrzeug und dazu die Klassen TPKW und TLKW die jeweils von TFahrzeug erben.
Nun hab ich das Problem, das ich nicht weis wie ich das realisieren soll, das wenn ich auf nen Button klicke erstmal ein neues Objekt PKW erstellt wird und dazu auch noch die passende Tabelle.

Ich weis das ich das mit nem Constructor machen muss, die Frage ist nur wie...


Wäre cool, wenn mir jemand helfen könnte.


Hab die Units UFahrzeug, UPKW, ULWK und UFahrzeugeingabe, wobei die ersten 3 Units für die Klassen sind und die Unit Fahrzeugeingabe ne form beinhaltet, die die Fahrzeuge verwaltet.


THx, The Tremendous
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#2

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 15:28
Hi,

ich habe deinen plan nicht ganz durchschaut
du willst als per button-druck, einen neuen datensatz in der tabelle Fahrzeug erstellen, oda?

Erst einmal musst entscheinden ob du das mit tables oder queries machen willst:

Eine Möglichkeit wie du es mit einer Query realisieren könntest:
Delphi-Quellcode:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('insert into Tabelle .db (Feld1, feld2,...) values(:a, :b,...);');
Query.Params.ParamByName('a').Value:= 'wert1';
Query.Params.ParamByName('b').Value:= 'wert2';
Query.ExecSQL;
und so mit einer tabelle:
Delphi-Quellcode:
  table1.Insert;
  table1.Edit;
  table1['PKw']:='wasdaauchreinsoll';
  Table1.post;
Ich hoffe das hilft erstmal...

cya

Plautzer
  Mit Zitat antworten Zitat
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#3

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 15:47
Nein, das möchte ich nicht.

Also ich hab einen Button neues Fahrzeug erstellen. Wenn ich auf den klicke, dann soll ein neues Objekt PKW erstellt werden. Dann gebe ich auf einer Form in DBEdits die Feldernamen ein. Wenn ich dann auf den Button Ferig klicke, soll eine neue tabelle erstellt werden, die als apalten die einträge von den db edits bekommt.
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 15:48
@The_Tremendous:
Willst du für jedes Fahrzeug einen neuen Table anlegen?

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#5

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:18
was soll den " ein neues Objekt PKW erstellt" bedeuten?
Was ist bei dir ein Objekt? -> Datensatz, tabelle.

Und in wiefern sind die tabelle fahrzeug und pkw miteinander verbunden, id??

Kannst du nochmal kurz die beziehungen der tabellen beschrieben?

Plautzer
  Mit Zitat antworten Zitat
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#6

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:22
@ Chris: Ja, ich will für jedes Fahrzeug das erstellt wird eine neue Tabelle anlegen.


@ Plauzer: Objekt im Sinne von OOP also Okjekt einer Klasse!


MFG the_tremendous
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#7

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:22
Hallo,

wieso du eigene Klassen erstellen willst versteh ich zwar nicht ganz und zum anderen sollten die Spaltennamen für die jeweiligen DB's doch gleich sein oder?

Ich würde mir gar nicht die Arbeit machen und für jedes Fahrzeug eine neue DB anlegen sondern die Fahrzeuge alle in einer DB anlegen (die Daten sind eh alle gleich) und dann ne weitere DB anlegen wo die Details drin stehen und in die dritte DB nur die Verweise zu den ersten beiden DB's.

Das sollte dir ne Menge arbeit sparen oder es ist so wichtig das die einzelnen DB's der Fahrzeuge unterschiedliche Spaltennamen habe?

Dann würde ich nicht DBEdit sondern nur Edit, da du bei DBEdit ja immer nen Verweis zu einer DB angeben solltest, was du aber nicht kannst, da ja noch keine DB da ist.
  Mit Zitat antworten Zitat
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#8

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:29
Ja, ich würde es auch lieber einfacher machen, das Problem ist nur, das das ein Prjekt ist, in dem mir vorgegeben wird, das ich es objektorientiert schreiben soll. Unteranderem muss ich eigene Klassen, Vererbung und und und da mit reinbringen.

Wenn du mir sagst, wo ich sonst noch Klassen mit Vererbung reinbringen kann, mache ich es anders, aber das ist bisher das einzige das mir eingefallen ist.

Nein, die Tabellen sehn nicht immer gleich aus, da aus dem ersten edit zum beispiel dann der tabellenname ausgelesenwird, und und und.

Bezwecken will ich damit, das zu dem eingegebenen auto eine tabelle fahrtenbuch geschrieben wird.


MFG the_tremendous
  Mit Zitat antworten Zitat
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#9

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:32
@ Albi:

Albi schrieb: Ich würde mir gar nicht die Arbeit machen und für jedes Fahrzeug eine neue DB anlegen sondern die Fahrzeuge alle in einer DB anlegen (die Daten sind eh alle gleich) und dann ne weitere DB anlegen wo die Details drin stehen und in die dritte DB nur die Verweise zu den ersten beiden DB's.



--> So habe ich mir das ja auch vorgestellt, und das auto wird auch bereits in der Tabelle Fahrzeuge gespeichert. Was mir nun halt noch fehlt, ist das automatische erstellen der tabelle Fahrtenbuch für das neue Auto
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#10

Re: datenbank Problem!!!

  Alt 10. Dez 2004, 16:52
Warum willst du für jedes auto eine neue Fahrtenbuchtabelle erstellen?
Mache einfach eine große tabelle wo alle FAhrten drin sind und stelle eine Beziehung zwischen der Tabellen Fahrzeug u. Fahrtenbuch her, IDs z.B.

hier wäre aber ein Bsp. um eien tabell ezu erstellen:
Delphi-Quellcode:
var
pfad,tabellen, name, ext: string;
a:integer;
begin
  pfad := ExtractFilePath(Application.ExeName);
  name := ExtractFileName(Application.ExeName);
  ext := ExtractFileExt(Application.ExeName);
  tabellen:=pfad + 'tabellen';
  with Table1 do DatabaseName := tabellen;
IF NOT FileExists(tabellen + '\test.DB') THEN
        BEGIn
        if not ForceDirectories(tabellen) then
        ShowMessage('lol');

        with Table1 do
                begin
                active := false;
                DatabaseName := tabellen;
                tabletype := TTParadox;
                tablename := 'test';
                Name := 'Table1';

        with FieldDefs do
                begin
                 clear;
                     Add('ID', ftinteger, 0, false);
                     Add('Name', ftString, 50, false);
                     Add('Vorname', ftstring, 50, false);
                     Add('Datum', ftDate, 0, false);
                     Add('Bemerkung', ftString, 100, false);
                     Add('telefon', ftinteger, 0, false);
                     Add('Geld', ftcurrency, 0, false);
                end;

        WITH indexdefs DO BEGIN
        clear;
        Add('ID', 'ID', [ixprimary, ixunique]);
      END;

        CreateTable;
Ich hoffe es hilft.

Plautzer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:18 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