AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi DB-Programm auf anderem PC ausführbar machen...
Thema durchsuchen
Ansicht
Themen-Optionen

DB-Programm auf anderem PC ausführbar machen...

Ein Thema von dlenz · begonnen am 17. Jan 2007 · letzter Beitrag vom 8. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#11

Re: DB-Programm auf anderem PC ausführbar machen...

  Alt 17. Jan 2007, 11:46
okay... das Problem ist gelöst:

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
 var verz: string;
begin
 verz := ExtractFilePath(ParamStr(0))+'db/';
 TdbTable1.Active := False;
 try
  TdbTable1.DatabaseName := verz + 'db.tdbd';
  TdbTable1.Active := True;
 except
  MessageBeep(0);
  ShowMessage('Die Tabelle db.tdbd befindet' + #10#13 +'sich nicht im angegebenen Verzeichnis!')
 end
end;
end.
aber nun möchte ich die daten aus der DB-Tabelle über ein TdbQuery in einen Report übernehmen und er sagt mir immer, dass er keine tabelle.dat findet, warum das nu wieder?
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.640 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: DB-Programm auf anderem PC ausführbar machen...

  Alt 7. Feb 2007, 23:12
TdbQuery kann unabhängig von TdbTable verwendet werden.

Normalerweise gehts so:

Delphi-Quellcode:
  Query := TTdbQuery.Create(nil);
  Query.DatabaseName := path+'BLZCODES.TDBD';
  try
    Query.SQLW := 'SELECT * FROM BLZCODESTABLE WHERE BLZ = '''+_BLZ+'''';
    Query.Open;
    Result := Query;
  except
    on E:Exception do ...
  end;
EDIT: hab mal die Query angepasst, die Tabelle hatten den gleichen Namen wie die Datenbank.
Sven Harazim
--
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: DB-Programm auf anderem PC ausführbar machen...

  Alt 8. Feb 2007, 08:14
Guten Morgen,

Backslash heißt der nach links gekippte Schrägstrich und der wird im Windows Dateisystem verwendet. Aus bestimmten Gründen (z.B. Portabilität) schreibt man ihn nur selten selbst und verwendet nach Möglichkeit die Funktion IncludeTrailingPathDelimiter().

Werden Datenbanken zur Laufzeit konfiguriert, dann werden die zugehörigen Dataset-Komponenten (Table, Query) im geschlossenen Zustand erzeugt - deshalb musst Active nicht erst auf False gesetzt werden. Das würde auch nicht mehr helfen, weil ja bereits ein Zugriff auf eine nicht vorhandene Datenbank erfolgt wäre.

Wenn du den Speicherort (Verzeichnis) deiner Datenbank öfter (z.B. für Queries) benötigst, dann würde ich ihn mir in einer globalen Variable merken und nicht jedesmal neu bestimmen.

Die Steuerzeichenfolge zum Trennen von Textzeilen ist #13#10 oder besser sLineBreak.

Wenn in einer Query ein Tabellenname unbekannt ist, dann musst du mal genau hinschauen - in der Regel gibt es dann dieses Datenbankobjekt auch nicht, meistens weil du dich verschrieben hast oder die Datenbank noch leer ist.

Delphi-Quellcode:
resourcestring
  S_RELDBFOLDER = 'db';
  S_DBNAME = 'db.tdbd';
  S_DBNOTFOUND = 'Datenbank nicht gefunden:'#13#10'%s';

procedure ShowError(msg: string);
begin
  if not QuietMode then
    MessageBeep(0);
  ShowMessage(msg);
end;

procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  self.DatabaseName := IncludeTrailingPathDelimiter(
      ExtractFilePath(ParamStr(0)) + S_RELDBFOLDER) + S_DBNAME;
  try
    TdbTable1.DatabaseName := self.DatabaseName;
    TdbTable1.Open;
  except
    ShowError(Format(S_DBNOTFOUND, [self.DatabaseName]));
  end
end;
Grüße vom marabu
  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 04:59 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