Announcement

Collapse
No announcement yet.

Datenbankzugriff ohne AliasNamen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankzugriff ohne AliasNamen?

    Hallo,<br>
    ich versuche seit einiger Zeit mit dem C++Builder 5 und den Datenzugrifsskomponenten auf eine Datenbank zuzugreifen. Leider funktioniert das nur, wenn ich den AliasNamen verwende. Da die Software später aber auch auf anderen Systemen laufen soll wäre es sinnvoll direct die Parameter und alles anzugeben. Ich verwende die Komponenten
    Database, Query, Datasource und für die Anzeige erst einmal DBGrid. Die Datenbank ist eine Paradox7-DB.<br><br>

    Folgenden Quelltext führe ich aus:<br><br>
    <PRE>
    //Database1->AliasName="DSA";
    //Database1->DatabaseName="rassen";
    Database1->LoginPrompt=false;
    Database1->DatabaseName="C:\programmierung\daten\rassen.db ";
    Database1->DriverName="STANDARD";
    Database1->Params->Add("PATH=C:\programmierung\daten");
    Database1->Params->Add("DEFAULT DRIVER=PARADOX");
    Database1->Params->Add("ENABLE BCD=FALSE");

    Query1->DatabaseName=Database1->DatabaseName;
    Query1->SQL->Add("SELECT * FROM rassen");
    Query1->Active=True;

    DataSource1->DataSet=Query1;
    DBGrid1->DataSource=DataSource1;
    </PRE><br><br>

    Ich habe bei den Parametern als PATH auch schon die Datenbank mit angegeben, aber immer mit dem gleichen Fehler....<br>
    <i>EDBEngineError...ungültiger Parameter</i><br><br>

    Weiss jemand Rat? Oder sollte man einen Datenbankzugriff ganz anders machen? Ich brauche die Datenbank um Hintergrunddaten für das Programm zu speicher, aber da es leider so viele sind, habe ich mich zu einer Datenbank entschlossen...<br><br>

    Mfg<br><br>

    Daniel Rohrlack

  • #2
    Hallo Daniel,

    na ja, viel Zeit kannst Du nicht inverstiert haben...

    Im Strings muss \\ statt \ verwendet werden. Das ist eine der Escape-Sequenzen. Gibt's noch mehr von...

    Datenbankaliase kann man auch auf Fremdsystemem im Code erzeugen. Näheres findest in der Hilfe zu TSession.

    Bei DatabaseName wird nur der Pfad zu den Tabellen angegeben, nicht eine Tabelle selbst.

    Alle Zuweisungen die Datenbankverbindung betreffend sollten durchgeführt werden, bevor die Query geöffnet wird.

    Paradox benötigt die BDE auf dem Zielrechner. Diese muß dort notfalls auch noch installiert werden. Davon abgesehen sollte man die BDE nicht mehr verwenden. Und Paradox kann auf NTFS-Partitionen sehr negative Effekte zeigen. Da findest Du hier im Forum genügend Beispiele zu.

    Grüße Joche

    Comment

    Working...
    X