Einzelnen Beitrag anzeigen

Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [mybase] FieldDef.Add zur Laufzeit, ohne "Datenverl

  Alt 15. Feb 2006, 12:14
Hi GimbaR,

Ich hab neulich auch mal mit MyBase angefangen.
Also ne alternative kenn ich überhaupt nicht!

So hab grad ma mein Demoprog rausgesucht und ein bissel rum probiert!
Und bin zu dem Entschluss gekommen:
- Das geht nicht so einfach!

Begründung:
- Man muss die DatenMenge schließen -
wenn man dann unter dem Gleichen Dateinamen ein Neues DataSet Speichert Überschreibt man das alte mit Sicherheit!
-Logischerweiße auch den Inhalt!
und du solltest mal ausprobieren ob dein "ClientDataSet1.FieldByName('test2').Value:= 'teststring';"
überhaupt abgespeichert wird! ohne das du die Datei Expliziet speicherst!
weil
Zitat:
ClientDataSet1.MergeChangeLog;
//ClientDataSet1.Close; //hab ich auch mal ausprobiert, es ist der gleiche Effekt wie mit Active:= false;
ClientDataSet1.Active:= false;
führt ja dazu das durch Active := false; wirklich geschlossen wird!
und bei mir hat MergeChangeLog nicht ausgereicht um es wirklich zu speichern!

also müsstets du mindestens bevor du da irgendwas einfügst
ClientDataSet1.SaveToFile('C:\test2.xml', dfXML); aufrufen!

Ich hoffe ich konnte dir wenigstens ein bisschen weiterhelfen!
Es kann gut sein das es doch eine Möglichkeit gibt!
Ich hab mich auch noch nicht so lange damit auseindander gesetzt!

MFG
Stefan

PS: Mit with do sparst du dir arbeit!
Delphi-Quellcode:
with ClientDataSet1 do
  Begin
    Insert;
    FieldByName('test2').Value:= 'teststring';
    Post;
    SaveToFile('C:\test2.xml', dfXML);
  End;
Stefan
  Mit Zitat antworten Zitat