![]() |
CreateTable / Felddefinitionen fehlen
Hallo,
erzeuge zur Laufzeit mit CreateTable (Delphi3, BDE 5,11, DBase) eine Datenbanktabelle. Auf manchen Rechnern jedoch werden die Felddefinitionen (Feldtyp (numeric), Feldlänge (16) und Nachkommastellen (2)) nicht erzeugt. Hat jemand schon ähnliche Erfahrungen gemacht oder/und weiß, wodurch das passiert? Wie gesagt, es läuft auf den meisten Rechnern rund, doch auf manchen eben nicht. Dabei scheint weder das Betriebssystem noch die Version der BDE eine Rolle zu spielen. Danke und Gruß Ralf |
Re: CreateTable / Felddefinitionen fehlen
Zitat:
Zitat:
Denn wenn es sonst geht und nur auf bestimmten Rechnern nicht :?: |
Re: CreateTable / Felddefinitionen fehlen
Zitat:
Zitat:
Danke jedenfalls erstmal Gruß Ralf |
Re: CreateTable / Felddefinitionen fehlen
Hallo Schmiddi,
zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum. Dieser Fehler hört sich wirklich ungewöhnlich an. Eine Felddefinition ohne Typ habe ich noch nie gesehen. Vielleicht können weitere Infos einen Anhalt liefern: 1. Nutzt du die TTable Komponente von Delphi oder irgendeine andere? 2. Wie erstellst du die Tabellendefinition? 3. Wird die Tabelle immer lokal oder im Netz erzeugt? 4. Überprüfst du, ob die Tabelle schon existiert, bevor du sie erzeugst? Poste doch einfach mal ein Codeschnipsel dazu. |
Re: CreateTable / Felddefinitionen fehlen
Hier also die Prozedur, mit der ich die Tabellen erstelle.
Table_name wird beim Aufruf der Prozedur übergeben ...
Delphi-Quellcode:
[edit=MrSpock]Code Tags hinzugefügt Mfg, MrSpock[/edit]
procedure CreateNewTable(table_name:string);
var query1:tquery; begin if fileexists (extractfiledir(Application.ExeName)+'\Daten\'+table_name) then //If Application.MessageBox(pchar('Beim Versuch die Artikeltabelle "' +table_name+'" zu erstellen ist ein Fehler aufgetreten.'+#10+'Die Datei ist bereits vorhanden und kann somit nicht neu erstellt werden.'), 'Fehler', MB_OK+MB_ICONEXCLAMATION+MB_DEFBUTTON1+MB_APPLMODAL) = ID_OK Then exit; try query1:=tquery.create(application.MainForm); query1.Close; query1.SQL.Clear; query1.SQL.add('CREATE TABLE "'+ (extractfiledir(Application.ExeName)+'\Daten\' +table_name)+'"'+ '(ARTNR CHAR(20),'+ ' BEZEICHN CHAR(60),'+ ' BEGINN DATE,'+ ' NAME CHAR(50),'+ ' STRASSE CHAR(50),'+ ' ORT CHAR(50),'+ ' EK NUMERIC(16,2),'+ [b][color=#f50000]<----[/color][/b] ' VK NUMERIC(16,2),'+ [b][color=#f50000]<----[/color][/b] ' INFOS Blob)'); query1.Prepare; query1.ExecSQL; |
Re: CreateTable / Felddefinitionen fehlen
Hallo Schmiddi,
ich konnte das Verhalten nachvollziehen und hab eine Lösung gefunden. Ich weiß aber nicht, warum die BDE NUMERIC(x,y) und FLOAT(x,y) nicht mag. Sie mag aber DECIMAL(x,y). Das funktioniert und erzeugt Numerisch Felder (F in der Datenbankoberfläche). |
Re: CreateTable / Felddefinitionen fehlen
Zitat:
danke für den Tipp - werde es gleich mal versuchen. Was ich finden konnte ist, dass der Wert bei "Level" in der BDE-Verwaltung eine Rolle spielt. Bei "7" tritt zum Beispiel das Problem auf. Mit Level "4" läuft's rund ... Netter Gruß Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz