![]() |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
allerdings funktst das bei mir nicht! Bei mir kommt bei der Verwendung dieser SQL-Anweisung die Fehlermeldung "Allgemeiner SQL-Fehler". Verwende ich die SQL-Anweisung aber ohne die PRIMARY KEY - Sache funktionierts! Ich glaub ich mach da noch irgendwas falsch ... |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
das hinzufügen des primärschlüssels im nachhinein funktioniert, so wie ich's probiert hab, auch nicht. Kann aber auch sein, dass ich da wieder ein falsches syntax verwendet hab. Das Erzeugen ohne Primärschlüssel funktioniert ohne Probleme. |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
In LocalSQL (und soweit ich weiß, in anderen SQL-Languages auch nicht) kann KEIN PrimärSchlüssel nachträglich erzeugt werden; SekundärSchlüssel bzw weitere Indizes dagegen sehr wohl (hier mal die Hilfe zu LocalSQL zu Rate ziehen). Um den PrimärSchlüssel einer (mit LocalSQL) neu erzeugten ParadoxTabelle nachträglich zu kreieren, fällt mir nur die Methode Table.AddIndex() ein, nicht gerade elegant, aber funktionabel. Was lernen wir daraus? Wenn über DDL-Statement eine Tabelle neu erzeugt werden soll, dann gleich mit PrimärSchlüssel:wink: |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
SQL-Code:
Noch eine Idee woran es liegen könnte? Ist das script soweit OK?
create table "test.db" (ID integer,TEST char(255),PRIMARY KEY(ID))
Danke nochmal!!! |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
Gibt Delphi bzw dein Prog eine Fehlermeldung? Oder tut es nur so als ob? |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Sorry,
bei genauem Hinschauen sehe ich, dass ADO an Bord ist. Dann wird nicht mit SQL und auch nicht mit LocalSQL gearbeitet, sondern mit JetSQL. Probiere es mal so:
SQL-Code:
Viel Glück
/* create table */
CREATE TABLE test (id INTEGER, test CHAR(255)) /* create primary index */ CREATE INDEX test ON test(id) |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
:cry: |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Zitat:
|
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Hallo marabu, hallo mkinzler,
ich habs immer noch nicht hinbekommen ... Ich habs mit beiden angegebenen SQL-Anweisungen versucht hier noch mal der Code: - der erste Versuch (Fehlermeldung "Allgemeiner SQL-Fehler")
SQL-Code:
-der zweite Versuch (Fehlermeldung "Indexfehler")
create table "TEST.db" (ID Integer,TEST Float,PRIMARY KEY (ID))
SQL-Code:
Wie gesagt, ich benutze TQuery und es soll eine Paradox 5.0 erstellt werden. Kann es da noch Probleme geben?
create table "TEST.db" (ID Integer,TEST Float)
CREATE INDEX TEST ON TEST(ID) |
Re: PrimaryKey in einer Paradox-DB löschen und erstellen
Hallo,
das erste Script muss funktionieren. Fehlt bei deiner Query vielleicht ein SQL.Clear davor ? Zu der zweiten Variante. Die beiden Befehle dürfen bei Paradox natürlich nicht auf einmal geschickt werden, sondern hintereinander! aber wie gesagt, die erste muss klappen. Ausserdem ist in enem Minimalbeispiel das "Float" fehl am Platz. In der Bde heisst das NUMERIC(8,2) (oder mehr als 8). Weiterhin sollte ein Indexname nicht so heissen wie der Tabellenname, z.B. Idx_bla. Das aber nur am Range, weil der Primärindex unter Paradox keinen Namen hat, er ist leer. Table.IndexName:= ''; wäre also im Code später das richtige Umschalten. Aufpassen würde ich bei der BDE auch mit dem Level (DB-Version beim Erzeugen). BDE-Konfiguration Treiber->Native->Paradox Level muss mindestens auf 5 stehen. Heiko PS: Zeig mal eine abgespeckte Variante deines Codes. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz