AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Feldgröße zur Laufzeit ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Feldgröße zur Laufzeit ändern

Ein Thema von FBrust · begonnen am 30. Jan 2003 · letzter Beitrag vom 26. Jan 2004
Antwort Antwort
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#1

Feldgröße zur Laufzeit ändern

  Alt 30. Jan 2003, 18:54
Hallo,

ich muss bei einer Paradox-Tabelle eines bereits installierten Programms die Feldgröße (String-Feld) ändern.

Ich weiß zwar dass man mit "alter table..." Felder hinzufügen bzw. löschen kann, aber die Feldgröße ändern?

Hat vielleicht jemand eine Idee?

Grüsse

Frank
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 30. Jan 2003, 19:28
Uff,

da müssen die Systemtabellen aktualisiert werden. Hoffentlich irre ich mich.

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#3
  Alt 30. Jan 2003, 20:36
Hallo Hansa,

ja, das hoffe ich auch .

Natürlich kann man sich mit

- Temp-Feld anlegen
- Daten umkopieren
- Altes feld löschen
- Temp-Feld umbenennen

behelfen, ich hoffe aber, dass es einen eleganteren Weg gibt.

Grüsse
Frank
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 30. Jan 2003, 21:17
Hallo FBrust,

Interbase erlaubt nebem dem Löschen und Hinzufügen auch das Ändern von Spalten Typen oder Position. Das geht dann so:

Delphi-Quellcode:
ALTER TABLE Pernonen
ALTER COLUMN Name TO TYPE CHAR(30)
Ich glaube aber, dass lokal SQL diese Anweisung nicht unterstützt, aber du kannst es ja mal versuchen.

DROP und ADD wird auf jeden Fall unterstützt, bliebe also der Vorschlag von oben: Feld hinzufügen, Werte kopieren, altes Feld löschen
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Helld_River

Registriert seit: 2. Jan 2003
Ort: Hürth
136 Beiträge
 
Delphi 2010 Professional
 
#5
  Alt 31. Jan 2003, 14:39
Hi !
Per SQL mache ich das immer folgendermassen:

Code:
  alter table Kunden modify Name CHAR(50);
Vielleicht hilft's ja !!!

Gruß, Helld
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#6
  Alt 1. Feb 2003, 21:35
Hallo,

so, ich hab jetzt die beiden o. a. Vorschläge ausprobiert, aber bei beiden meldet Delphi eine EDBEngineError-Exception "Unbekanntes Schlüsselwort" entweder "MODIFY" oder "ALTER".

Dann gehts wohl doch nur über den "harten Weg"...

Jedenfalls danke für die Antworten.

Grüsse

Frank
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#7
  Alt 1. Feb 2003, 22:02
Und das bringt mich auch schon zur nächsten Frage:

Wie benennt man denn ein Feld um?

Ich hab mal in der Hilfe zu Local SQL nachgesehen, aber da steht nix.

Gibt es da überhaupt eine Möglichkeit?


Grüsse
Frank
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 1. Feb 2003, 23:20
ich habe mal einfach so etwas probiert, aber in IBexpert. Da gibt es eine Funktion "Edit Field"

Code:
ALTER TABLE NEW_TABLE ALTER NEW_FIELD TO NEW_F
d.h., ich schneide hier nur das "IELD" vom Feldnamen ab.
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#9

Re: Feldgröße zur Laufzeit ändern

  Alt 26. Jan 2004, 08:14
Hallo,

Werde mich mal an diesen Thread anhängen, weil die Frage dazupasst.

ALTER TABLE NEW_TABLE ALTER NEW_FIELD TO NEW_F Wie sieht diese Anweisung für Access aus? Das TO scheint es hier nicht zu geben. Wenn ichs weglasse beschwert er sich, dass es das Feld NEW_F nicht gibt.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:06 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