| Autor |
Beitrag |
jjturbo
      
Beiträge: 516
Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
|
Verfasst: Fr 11.03.11 11:15
Moin Forum,
ich möchte mit der BDE bei Paradox-Tabellen Feldnamen umbenennen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm10.Button2Click(Sender: TObject); var myQuery :TQuery; SQLText :String; begin
myQuery := TQuery.Create(nil); myQuery.DatabaseName := ExtractFilePath(ParamStr(0));
SQLText := 'ALTER TABLE ' + Tabellenname + UMBENNEN Altername NeuerName';
myQuery.SQL.SetText(Pchar(SQLText)); myQuery.ExecSQL; myQuery.Active := false;
myQuery.Free;
end; |
Weiß jemand wie das SQL-Statemnet dafür aussehen muß?
Oder gibt es einen anderen Weg?
Gruß, Oliver
_________________ Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 11.03.11 11:24
Per SQL geht das mit der BDE soweit ich weiß gar nicht. Nur via API mit dbiDoRestructure. Aber frag mich nicht wie...
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 11.03.11 11:29
Probiers mal so:
| tutorials.de hat folgendes geschrieben: |
SQL-Anweisung 1:
| alter table test rename column SPALTE_alt to SPALTE_neu; | |
Alternativ könntest du natürlich auch in deinem Programm die Namen zuordnen. Du nummerierst die Felder in der DB einfach durch, und bei der Anzeige packst du dann deinen Namen dazu (diese Tabelle könnte man wiederum in der DB speichern  )
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Fr 11.03.11 11:29
Hallo,
normalerweise müsste das in etwa so aussehen
SQL-Anweisung 1:
| ALTER TABLE tablename RENAME COLUMN oldname TO newname |
Ich meine mich aber zu erinnern, dass Paradox bei ALTER TABLE leider nur ADD COLUMN und DROP COLUMN unterstütze. Wenn ich da richtig liege musst du dir mit diesen Möglichkeiten etwas zusammen bauen.
Also:
- Neue Spalte mit dem gewünschten neuen Namen hinzufügen.
- Daten von der alten Spalte in die neue kopieren.
- Alte Spalte löschen
Die Vorgehensweise ist zwar lästig, sollte aber funktionieren und soo oft sollte die entsprechende Funktion ja nicht zum Einsatz kommen.
Gruß
Klabautermann
|
|
jjturbo 
      
Beiträge: 516
Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
|
Verfasst: Fr 11.03.11 11:44
Schaut mal:
info.borland.com/dev...bidorestructure.html
(Beispiel 3)
das ist ja das was suche, oder?
Es scheitert bei mir unter anderen an "DBINAME" und "CURProps". Weiß jemand wo diese deklariert sind?
_________________ Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 11.03.11 11:49
| torry hat folgendes geschrieben: | Delphi-Quelltext 1: 2:
| uses DB, DBTables, DBITypes, DBIProcs; | |
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
jjturbo 
      
Beiträge: 516
Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
|
Verfasst: Fr 11.03.11 12:19
Jau, hat geklappt, danke an alle! 
_________________ Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
|
|
|