Entwickler-Ecke

Datenbanken - Meine erste Datenbank


lord.paddington - So 01.09.02 13:41
Titel: Meine erste Datenbank
Hallo!!

Bin dabei meine erste Datenbank zu erstellen und bin dabei auf folgendes Problem gestoßen....in form1 werden Variablen beschrieben....wie transportiere ich jetzt die den Inhalt der Variablen ins DataModule1, wo mein DataSource und DataSetClient liegen?


Danke!!!


Klabautermann - So 01.09.02 18:47

Hallo,

1. musst du natürlich die Unit deines Datamodul1 in die uses Klauel der Unit deines Form1 aufnehmen. Siehe dazu diesen Thread [http://www.auq.de/viewtopic.php?t=1733&highlight=uses].

2. Du kannst z.B. per FieldByName in die Datenfelder Schreiben. Das kannst du hier [http://www.auq.de/viewtopic.php?t=363] genauer nachlesen.

Gruß
Klabautermann


lord.paddington - So 01.09.02 20:56
Titel: Irgendwie...
...will es nicht laufen....

habe alles in der USES - Klausel eingebunden....

..soweit so gut!!!

Habe mal ein wenig Quelltext kopiert...

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
bis hierhin ist alles klar....

#DataModule1.ClientDataSet1.Active := True;
DataModule1.ClientDataSet1.Append;

#Hier beginnt der Fehler


tblAdressen.FieldByName('Datum').AsString := Datum;
tblAdressen.Post;
ClientDataSet1.Active := False;

KYLIX macht doch hier wohl keinen Unterschied zu Delphi?


Klabautermann - So 01.09.02 21:02
Titel: Re: Irgendwie...
Hmmm,

versuche es mal so:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
DataModule1.ClientDataSet1.Active := True;
DataModule1.tblAdressen.Append;
DataModule1.tblAdressen.FieldByName('Datum').AsString := Datum;
DataModule1.tblAdressen.Post;
{bzw. wenn du Table1 nicht auf dem Datamodul hast:
 tblAdressen.Append;
 tblAdressen.FieldByName('Datum').AsString := Datum;
 tblAdressen.Post; }
ClientDataSet1.Active := False;


Gruß
Klabautermann


lord.paddington - So 01.09.02 21:24

Darf ich dir den kompletten Quelltext einmal vorbeisenden?

Antworten bitte hier ins Forum. Tino


lord.paddington - So 01.09.02 22:58
Titel: auf dem Weg zum Erfolg
Sö, hiermit hatte ich Erfolg:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  Datum := DateToStr(Now);
  Zeit := TimeToStr(Now);
  DataModule1.ClientDataSet1.Active := True;
  DataModule1.ClientDataSet1.Append; // Neuen Datensatz an die Tabelle anhängen
  DataModule1.ClientDataSet1Datum.AsString := Datum;
  DataModule1.ClientDataSet1Zeit.AsString :=  Zeit;
  DataModule1.ClientDataSet1.Post;
  DataModule1.ClientDataSet1.SaveToFile('Stat5_4.xml');
  DataModule1.ClientDataSet1.Active := False;

Soweit alles klar....jetzt muss ich nur noch die Werte im DBGrid sichtbar machen....den Dateipfad habe ich ingestellt.....Tabelle bleibt aber leer!!!

Was nu?


lord.paddington - Di 03.09.02 22:07
Titel: Datenkomponente
Kann mir jemand erklären, was hiermit gemeint ist?

Um die Daten einer datensensitiven Komponente im DBGrid anzuzeigen, muss die
Daten-Komponente geöffnet sein. :oops:


MrSpock - Di 03.09.02 22:12

Hallo lord.paddington,

wenn du z.B. eine TTable oder eine TQuery Komponente über eine DataSource mit einem DBGrid verbunden hast und das Programm startest, siehst du die Daten nicht. Erst wenn du die Eigenschaft Active auf True setzt oder dies über einen Aufruf von Open (z.B. MyTable.Open) erledigen lässt, erscheinen die Daten im Grid.