AGB  ·  Datenschutz  ·  Impressum  







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

Datenbankstruktur zur Laufzeit ändern

Ein Thema von BrunoT · begonnen am 9. Jan 2004 · letzter Beitrag vom 9. Jan 2004
Antwort Antwort
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#1

Datenbankstruktur zur Laufzeit ändern

  Alt 9. Jan 2004, 21:25
ich habe eine Datenbank-Tabelle mit mit einem Zähler als Primrschlüssel.
Nr Zähler
Name Text 20
Vorname Text 15 usw.

Ich möcht z.B. die Breite des Namensfeldes auf 25 ändern.

In dieser Tabelle wurden Datensätze gelöscht. Damit ist der Zähler nicht mehr fortlaufend. Nun muß ich die Struktur dieser Tabelle modifizieren, ohne dass der Zähler neu vergeben wird, da sonst die Referenzen nicht mehr stimmen. Kann man zur Laufzeit die Struktur einer Paradoxtabelle ändern? wenn ja, wie?

P.S. ich habe bisher die Daten aus der zu modifizierenden Tabelle in eine Neue kopiert, dabei wurde aber der Zähler neu erstellt.

mfg

BrunoT
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#2

Re: Datenbankstruktur zur Laufzeit ändern

  Alt 9. Jan 2004, 22:01
hmmm schonmal mit sql versucht?
Muh macht die kUh
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Datenbankstruktur zur Laufzeit ändern

  Alt 9. Jan 2004, 22:17
Hallo BrunoT,

das geht grundsätzlich mit SQL. Leider hat LocalSQL hier eine Beschränkung:

SQL-Code:
ALTER TABLE myTable
ALTER Name TYPE VARCHAR(25)

funktioniert grundsätzlich, aber nicht bei LocalSQL

manche Dialekte benutzen auch MODIFY in der 2. Zeile, aber auch das funktioniert nicht bei LocalSQL.

Du könntest aber ein neues Feld einfügen, die Daten dorthin kopieren und anschließend das alte Feld löschen:

SQL-Code:
ALTER TABLE myTable
ADD Name2 VARCHAR(25)
SQL-Code:
UPDATE TABLE myTable
SET Name2=Name
SQL-Code:
ALTER TABLE myTable
DROP Name
Nachtrag: Du findest übrigens weitere gute Hinweise unter Hier im Forum suchenALTER TABLE
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#4

Re: Datenbankstruktur zur Laufzeit ändern

  Alt 9. Jan 2004, 23:18
Hallo Danke!

ich habe das Problem anders gelöst.
1. Zweite Tabelle mit geänderter Struktur erstellt.
2. Daten in die neue Tabelle kopiert.
3. Referenzen in den anderen Tabellen mit dem neuen Schlüssel abgeglichen

wenn ich mal Zeit habe, nehme ich mir auch SQL vor.

mfg

BrunoT
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  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 14:35 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