AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehler in Create Table für dBase-Dbs
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler in Create Table für dBase-Dbs

Ein Thema von Martoeng · begonnen am 19. Jul 2004 · letzter Beitrag vom 19. Jul 2004
Antwort Antwort
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#1

Fehler in Create Table für dBase-Dbs

  Alt 19. Jul 2004, 08:01
Hi Leute,

ich muss für ein Projekt zur Laufzeit dBase-Tabellen/Datenbanken/Dateien (wie immer man es nennen will) erstellen.

Was nutze ich:
Delphi7 Ente
BDE 5.01


Das reine Erstellen klappt auch so ganz gut:

Delphi-Quellcode:
  q_vorgbuch.SQL.Text := 'CREATE TABLE ' + quotedstr(t_kalknr) + ' ('
                      + 'laufnr numeric (4) '
                      + 'objektnr char (6), '
                      + 'posit char (11), '
                      + 'artiklnr char (9), '
                      + 'liefcode char (5), '
                      + 'menge numeric (7,2), '
                      + 'dertext char (16), '
                      + 'ekpreist numeric (9,2), '
                      + 'faktor numeric (6,2), '
                      + 'vkpreist numeric (9,2), '
                      + 'min_stck numeric (4,0), '
                      + 'mengeist numeric (7,2), '
                      + 'eu_min numeric (4,2), '
                      + 'eu_stck numeric (9,2), '
                      + 'gsmtprst numeric (9,2), '
                      + 'preispos numeric (9,2), '
                      + 'datum DATE) ';
Die Tabelle wird so im richtigen Ordner unter den richtigen Namen abgespeichert.
Es erscheint keine Fehlermeldung oder ähnliches.

ABER:
Wenn ich diese Tabelle dann mit DataMaker öffne, zeigt mir das Programm lauter Spalten an (ob es die richtige Anzahl ist hab ich nicht nachgezählt) von denen NUR die erste einen Namen hat, und zwar "DBE850DE0". Diese Feld ist dann vom Typ "Zeichen" mit einer Länge so zwischen 0 und 50 (ist irgendwie jedesmal anders).
Alle anderen Felder haben keine Namen, sind nicht in der Feldverwaltung eingetragen und werden doch angezeigt.
Wichtig zu erwähnen ist vielleicht noch, dass jede Spalte (egal welchen Typ ich angegeben habe)der ersten Zeile dieser neuen Tabelle komplett mit mit dem Wörtchen "Unbekannt" gefüllt ist.


Ich hab mich schonmal schlau gemacht und im Netz gefunden, dass dieses "DBE850DE0" irgendwie der Name des DOS-Zeichensatzes von dBase sein soll.


Nu die Frage (oh welch Überraschung :
WAS MACH ICH FALSCH??

Gibt es vielleicht irgendwelche Einstellungen im BDE, die damit zusammenhängen könnten?

Thx schon mal im Vorraus


Martoeng


EDIT: Nach Hinweis von Sharky erstmal den Quelltext korrigiert. (war eine Klammer falsch) Aber Problem leider noch nicht behoben
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fehler in Create Table für dBase-Dbs

  Alt 19. Jul 2004, 08:25
Hai Martoeng,

ich habe jetzt kein Delphi zur Hand, aber muss diese Klammer (rot) nicht ganz am ende stehen?
Code:
  q_vorgbuch.SQL.Text := 'CREATE TABLE ' + quotedstr(t_kalknr) + ' ('
                      + 'laufnr numeric (4)[b][color=red])[/color][/b]';
                      .
                      .
                      + 'datum DATE) ';
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#3

Re: Fehler in Create Table für dBase-Dbs

  Alt 19. Jul 2004, 08:42
Hi,


oops, ja muss Sie, aber dass ist leider nicht der Fehler.

Die ist da nur hingerutscht, weil ich zum Testen die DB mal auf eine Spalte reduziert habe (hatte den Rest auskommentiert.) Werde den Fehler im Zitat gleich berichtigen.


Thx für den Tipp

Martoeng
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Fehler in Create Table für dBase-Dbs

  Alt 19. Jul 2004, 08:52
Delphi-Quellcode:
// Falsch: Tabellenname wird in der folgenden Zeile in einfache Hochkommas
// eingeschlossen (mit QuotedStr)
q_vorgbuch.SQL.Text := 'CREATE TABLE ' + quotedstr(t_kalknr) + ' ('

// Richtig: Tabellenname wird in doppelte Anführungszeichen eingeschlossen
// ABER: um jedem Ungemach aus dem Weg zu gehen, wird ein Tabellenname nach den gleichen Regeln
// gebildet, nach denen auch gültige Pascal Bezeichner gebildet werden
// also ein Buchstabe gefolgt von max. 31 beliebigen Zeichen aus ['a'..'z', 'A'..'Z', '0'..'9', '_']
// Bezeichner, die einem reservierte SQL-Wort entsprechen (z.B. SUM) müssen dabei unbedingt vermieden werden !
q_vorgbuch.SQL.Text := 'CREATE TABLE ' + t_kalknr + ' ('
Andreas
  Mit Zitat antworten Zitat
Martoeng

Registriert seit: 21. Jun 2004
44 Beiträge
 
#5

Re: Fehler in Create Table für dBase-Dbs

  Alt 19. Jul 2004, 09:09
Hi shmia,

Hab deine Tipps beherzigt:

- Ich habe den Tabellennamen in doppelte Anführungszeichen gesetzt -> trotzdem gleiches Problem.
- Der Dateiname ist immer noch folgenden Muster aufgebaut: "K" + 5-stellige, fortlaufende Zahl.
- Auch die Spaltenbezeichner habe ich nach bestem Wissen und Gewissen so gewählt, dass sie sich nicht mit SQl verhaken.

Aber leider hat das alles nichts gebracht.


Thx für deinen Tipp


Martoeng
  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 23:22 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