Autor Beitrag
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Fr 11.03.11 11:15 
Moin Forum,

ich möchte mit der BDE bei Paradox-Tabellen Feldnamen umbenennen.

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: Fr 11.03.11 11:29 
Probiers mal so:

tutorials.de hat folgendes geschrieben:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 11.03.11 11:29 
Hallo,

normalerweise müsste das in etwa so aussehen
ausblenden 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:
  1. Neue Spalte mit dem gewünschten neuen Namen hinzufügen.
  2. Daten von der alten Spalte in die neue kopieren.
  3. 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: Fr 11.03.11 11:49 
torry hat folgendes geschrieben:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: 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...