AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank zur Laufzeit erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank zur Laufzeit erstellen?

Ein Thema von Snooze · begonnen am 23. Feb 2004 · letzter Beitrag vom 25. Feb 2004
Antwort Antwort
Seite 2 von 2     12   
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#11

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 15:37
Du kannst mit FindFirst und FindNext überprüfen, ob eine Datei bereits existiert. Die Funktionen sind in der Hilfe gut erklärt.
Den zweiten Teil deiner Frage verstehe ich nicht ganz.
  Mit Zitat antworten Zitat
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 15:46
Zitat von Cuchulainn:
Du kannst mit FindFirst und FindNext überprüfen, ob eine Datei bereits existiert. Die Funktionen sind in der Hilfe gut erklärt.
Den zweiten Teil deiner Frage verstehe ich nicht ganz.

also ich schreibe in die ersten 10 Felder nur Daten über den Besitzer rein.

im 1. Feld steht der Name

deshalb möchte ich gern beim Start direkt auf dieses Feld zugreifen, und wenn dann die DATEI gar nicht da ist, oder leer ist, sollte ich dementsprechend reagieren können. Also geht es mir eigentlich nur darum, den herbeigeführten Error (wie Table is too busy...) abzufangen


Danke
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#13

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 16:34
Hallo Snooze,

ich bin erst jetzt auf Deine Frage gestoßen, vielleicht nützt Dir folgendes ja noch etwas:

Code:
procedure TFDaSi.GenSVAuftragsdatei1Click(Sender: TObject);
begin
  Tab1.Active := false;
  Tab1.DatabaseName := DataPath; //d:\myprog\daten
  Tab1.TableName := fnSVOrder;  //d:\myprog
  Tab1.TableType := ttParadox;
  Tab1.FieldDefs.Clear;
  with Tab1.FieldDefs do begin
    Add('ID', ftAutoInc, 0, false);     // für den Primärindex
    Add('Gruppe', ftString, 20, false);
    Add('QLW', ftString, 80, false);
    Add('CopySubDir', ftBoolean, 0, false);
    Add('AktRotation', ftInteger, 0, false);
    Add('InklFilter', ftMemo, 0, false);
    Add('Datum', ftDate, 0, false);
    Add('Zeit', ftTime, 0, false);
  end;    { of FieldDefs }
  try
    Tab1.CreateTable;
  except
  end;
  // Index erzeugen
  Tab1.IndexDefs.Clear;
  Tab1.IndexDefs.Update;
  Tab1.AddIndex('','ID', [ixPrimary]);
  Tab1.AddIndex('Gruppe','Gruppe',[ixCaseInsensitive]);
end;
mfg
eddy
  Mit Zitat antworten Zitat
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 17:38
Table1.Active := false;
Table1.DatabaseName := APath; //d:\myprog\daten
Table1.TableName := 'Test'; //d:\myprog
Table1.TableType := ttParadox;
Table1.FieldDefs.Clear;
with Table1.FieldDefs do begin
Add('ID', ftAutoInc, 0, false); // für den Primärindex
Add('Gruppe', ftString, 20, false);
Add('QLW', ftString, 80, false);
Add('CopySubDir', ftBoolean, 0, false);
Add('AktRotation', ftInteger, 0, false);
Add('InklFilter', ftMemo, 0, false);
Add('Datum', ftDate, 0, false);
Add('Zeit', ftTime, 0, false);
end; { of FieldDefs }
try
Table1.CreateTable;
except
end;
// Index erzeugen
Table1.IndexDefs.Clear;
Table1.IndexDefs.Update;
Table1.AddIndex('','ID', [ixPrimary]);
Table1.AddIndex('Gruppe','Gruppe',[ixCaseInsensitive]);


so sieht mein Code jetzt nach Anpassung aus,

nur schreibt er dann, dass die tabelle gar nicht existiert, und das will ich ja so haben, dass er mir das sagt, aber ein wenig anders *Ggg*


Edit: erst schreibt er, dass Datensatzanzahl nicht angegeben ist und beim weitergehen kommt obige Meldung erst
  Mit Zitat antworten Zitat
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#15

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 17:55
Tut mir leid, dass ich nicht ehr geantwortet habe. Ich hatte eben keine Zeit mehr für DP. Arbeit
Du kannst in den Except-Zweig eine Showmessage-Anweisung schreiben. Dann führt er diese Anweisung aus, wenn ein Fehler auftritt. Etwa so:

Delphi-Quellcode:
try
(...)
except
  Showmessage('Fehler!!!'); // Nur sollte deine Meldung etwas aussagekräftiger sein ;)
end;
Und von welchen Meldungen sprichts du denn? Wann kommen die und wie lauten sie?
  Mit Zitat antworten Zitat
Benutzerbild von Snooze
Snooze

Registriert seit: 8. Okt 2003
Ort: Niedernsill (Salzburg)
97 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Datenbank zur Laufzeit erstellen?

  Alt 24. Feb 2004, 18:00
baue nun das Projekt neu auf, dann werde ich gleich als erstes dies perfekt machen.


Aber danke trotzdem für diesen Tipp,

mfg Stefan
  Mit Zitat antworten Zitat
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#17

Re: Datenbank zur Laufzeit erstellen?

  Alt 25. Feb 2004, 07:42
Okay, dann viel Glück
  Mit Zitat antworten Zitat
Benutzerbild von Spasskeks
Spasskeks

Registriert seit: 11. Feb 2004
Ort: Brokstedt
32 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Datenbank zur Laufzeit erstellen?

  Alt 25. Feb 2004, 15:13
Zitat:
kann ich irgendwie überprüfen, ob die Datei bereits vorhanden ist?
Geht auch ganz gut mit
Code:
Fileexists(File:string):boolean
MFG Henrik
Kleinstmöglicher Aufwand -> Größtmöglicher Gewinn =)
http://www.henrikpfeifer.de
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#19

Re: Datenbank zur Laufzeit erstellen?

  Alt 25. Feb 2004, 16:13
Hallo Snooze,

da Du den Quelltext nur leicht geändert hast könnte folgende Zeile zu dem Fehler führen:
Code:
Table1.TableName := 'Test';
Ersetz' diese mal durch:
Code:
Table1.TableName := 'Test.DB';
mfg
eddy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:43 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