Autor Beitrag
segfault
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 28.01.03 21:25 
hallo

ich bin recht neu in delphi, und auch in datenbankprogrammierung.
eigentlich hab ich nichts schwieriges vor :wink: aber sogar das klappt nicht :( warum werden nach einem Table1.Post; die daten nicht geschrieben, sondern erst dann wenn ich das programm beende?

ich mache folgendes (wie in der hilfe):
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.Append;
  Table1.FieldValues['ALPHANUMERIC'] := Edit1.text;
  Table1.FieldValues['INTEGER'] := StrToInt(Edit2.text);
  Table1.Post;
end;

nachdem ich aber auf Button1 geklickt habe, steht nichts in der Tabelle, eben erst wenn ich das programm beende. mach ich etwas falsch? bitte helft mir. btw: ich verwende .dbf dateien

mfg
benni

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Di 28.01.03 21:34 
hmm.. also entweder die Daten-Table 'refreshen', also:

Table.Refresh

oder einfach nur dein Grid, also die Tabelle zum Anzeigen, 'refreshen' mit

Grid.Refresh

Wenn nicht, versuchs auf die rabiate Methode, und zwar deine Datenbank schliessen und nochmal öffnen, weil nichts anderes passiert wenn du dein Programm schliesst und wieder startest...

hoffe das hilft... wenn nicht, musste wohl auf die wahren prof´s hier warten.. :D

mfg
kiwicht
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Mi 29.01.03 01:00 
hallo kiwicht!

schau mal im OI deiner tabelle das property 'CachedUpdates' an. dort sollte in deinem fall 'false' eingetragen sein.

mfg, stefan
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 29.01.03 01:14 
Ist das SQL, oder was andres ?

Gruß
Hansa
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Mi 29.01.03 02:06 
nein, das ist kein SQL, sondern er arbeitet mit den ganz normalen methoden, die ein table kann.

mfg, stefan
segfault Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 29.01.03 11:14 
Hallo

ein refresh bringt auch nix :-( wie kann ich die datenbank neu starten? ich mein... ich arbeite nur mit .dbf-dateien. also ich mach zuerst:
ausblenden Quelltext
1:
2:
Table1.DatabaseName := 'verzeichnis\';
Table1.TableName := 'file.dbf';

danach
ausblenden Quelltext
1:
Table1.Active := True;					

Table1.Close oder sowas gibts ja nicht, und CloseDatabase kann ich nicht verwenden, oder? zumindest weiss ich nicht welchen parameter ich da angeben soll.

mfg
segfault

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 29.01.03 12:24 
Ei wärs den mit:

active := false 8)

Gruß
Hansa
segfault Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 29.01.03 12:36 
hansa hat folgendes geschrieben:
Ei wärs den mit:

active := false 8)

Gruß
Hansa


mah! ich bin aber auch wirklich zu blöd! :autsch:
hehe... damit gehts natuerlich :-)
ich finds aber trotzdem komisch, das nach einem post nicht gleich geschrieben wird...

danke auf jeden fall :-)

mfg
segfault
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 29.01.03 12:54 
hehe, "nicht verzagen Hansa fragen !" Meine Frage nach SQL zielte hierauf ab, da weiß ich nämlich genau, daß open und close nichts anderes machen, als active auf true oder false zu setzen. Die Daten werden gepuffert, um Schreibvorgänge zu beschleunigen. Das hat dann diesen manchmal unerwünschten Nebeneffekt.

Gruß
Hansa
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Mi 29.01.03 19:09 
@segfault: warum gibts kein table.close? damit schliesst du die tabelle und schreibst die daten endgültig weg. ich wusste ja nicht, dass du das nicht wusstest. apropos... es gibt auch ein table.open *g*

mfg, stefan
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 29.01.03 19:24 
hansa hat folgendes geschrieben:
... da weiß ich nämlich genau, daß open und close nichts anderes machen, als active auf true oder false zu setzen....


Lest ihr immer nur einen und zwar den letzten Satz ??? :shock:

Gruß
Hansa