Tabelle programmtisch erstellen

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Tabelle programmtisch erstellen

Beitrag von HaPe »

Hallo Zusammen !

In VFP steht zur Erstellung und Manipulation von Tabellen auch die SQL-Syntax zur Verfügung, zb.:
CREATE TABLE MeineTabelle ( BlockType C(2), DGBlockNo N(3,0), CGBlockNo N(3,0), CNBlockNo N(3,0), cProperty C(70), cValue C(254), mValue M(4), nValue I(4), dValue B(8) )
ALTER TABLE MeineTabelle ALTER COLUMN BlockType C( 3 )
ALTER TABLE MeineTabelle DROP COLUMN BlockType
ALTER TABLE MeineTabelle ADD COLUMN cRepFile C(120)
Das scheint es in Xbase++ 2.0 Build 726 wohl noch nicht zu geben.

Gibt es eine andere Möglichkeit ohne zuerst eine Struktur-Tabelle erstellen zu müssen und daraus die eigentliche Tabelle?

Hintergrund: Ich verarbeite Messdaten die als Text-Tabelle (mit Tab getrennt) kommen und in eine DBF zur Weiterverarbeitung geschrieben werden sollen.
Die Daten-Struktur der Text-Tabelle ist nicht vorgegeben und wird im VFP-Programm anhand des Headers dynamisch zur Laufzeit bestimmt.
Daraus wird dann ein SQL-Command erstellt welches die DBF-Tabelle zum APPENDen der Text-Tabelle erstellt.
--
Hans-Peter
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Tabelle programmtisch erstellen

Beitrag von Martin Altmann »

Moin,
Du kannst die Struktur auch in einem Array vorhalten und daraus die DBF erzeugen:

Code: Alles auswählen

aStructure := {}
aAdd( aStructure, { "KLUB1", "C", 57, 0 } )
aAdd( aStructure, { "KLUB2", "C", 57, 0 } )
aAdd( aStructure, { "NAME", "C", 57, 0 } )
aAdd( aStructure, { "STRASSE", "C", 57, 0 } )
aAdd( aStructure, { "PLZ", "C", 6, 0 } )
aAdd( aStructure, { "ORT", "C", 30, 0 } )
aAdd( aStructure, { "ZUSATZ1", "C", 57, 0 } )
aAdd( aStructure, { "ZUSATZ2", "C", 57, 0 } )
aAdd( aStructure, { "ZUSATZ3", "C", 57, 0 } )
aAdd( aStructure, { "VEREINNR", "N", 3, 0 } )
aAdd( aStructure, { "CODE", "C", 1, 0 } )
DbCreate( cPfad + cDateiname, aStructure )
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Tabelle programmtisch erstellen

Beitrag von HaPe »

Hallo Martin !
Du kannst die Struktur auch in einem Array vorhalten und daraus die DBF erzeugen:
Danke, das sieht gut aus.
--
Hans-Peter
Antworten