AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird CreateTable Fehlermeldung
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird CreateTable Fehlermeldung

Ein Thema von strom · begonnen am 1. Feb 2015 · letzter Beitrag vom 2. Feb 2015
Antwort Antwort
Seite 1 von 2  1 2      
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 14:12
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBC
Hallo,

die Table wird in der Database nicht angelegt!

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if FileExists(ExtractFilePath(Application.ExeName)+'ELP.fdb') then
  begin
   //IBCTable1.TableName := 'EINSATZ';
   //IBCTAble1.Active := true;
  end else
begin
  IBCConnection1.Database := ExtractFilePath(Application.ExeName)+'ELP.fdb';
  IBCConnection1.Params.Clear;
  IBCConnection1.Params.Add('USER ''SYSDBA''');
  IBCConnection1.Params.Add('PASSWORD ''masterkey''');
  IBCConnection1.Params.Add('PAGE_SIZE 4096');
  IBCConnection1.Params.Add('DEFAULT CHARACTER SET WIN1250');
  IBCConnection1.CreateDatabase;
  IBCConnection1.Connected := false;
  IBCConnection1.Params.Clear;
  IBCConnection1.Params.Add('USER_NAME=SYSDBA');
  IBCConnection1.Params.Add('PASSWORD=masterkey');
  IBCConnection1.Connected := true;
  IBCTransaction1.Active := true;
   with IBCTable1 do begin
     active:=false;
    TableName:='EINSATZ';
     with FieldDefs do begin
      clear;
       Add('ID', ftInteger, 0, false); // AUTOINC Gibt es nicht, folgt später!!!
       Add('ICON', ftString, 20, false);
       Add('EINSATZNR', ftString, 10, false);
       Add('DATUM', ftString, 10, false);
       Add('ZEIT', ftString, 10, false);
       Add('EINSATZSTATUS', ftString, 10, false);
       Add('EINSATZSTICHWORT', ftString, 20, false);
       Add('EINSATZSTADT', ftString, 40, false);
       Add('EINSATZORT', ftString, 40, false);
       Add('EINSATZADRESSE', ftString, 40, false);
       Add('EINSATZMELDUNG', ftString, 100, false);
       Add('ELPNAME', ftString, 40, false);
       Add('ELPIP', ftString, 40, false);
       Add('EINSATZHINWEIS', ftString, 40, false);
       Add('EINSATZOBJEKT', ftString, 100, false);
   end;
    CreateTable; // Undeklarierter Bezeichner ???
  end;
 end;
end;
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#2

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 14:29
Verstehe es einfach nicht! Müsste doch gehen oder nicht!

Code:
Data.DB.TDataSet.FieldDefs
Übergeordnet: TDataSet
Delphi
property FieldDefs: TFieldDefs read FFieldDefs write SetFieldDefs;

C++ 
__property TFieldDefs* FieldDefs = {read=FFieldDefs, write=SetFieldDefs};

Eigenschaften

Typ

Sichtbarkeit

Quelle

Unit

Übergeordnet

property public
Data.DB.pas

Data.DB.hpp
Data.DB TDataSet

Beschreibung

Zeigt auf die Liste der Felddefinitionen für die Datenmenge.

FieldDefs enthält die Felddefinitionen einer Datenmenge. Sie können diesen Wert in Ihren Anwendungen zwar lesen, um die Felddefinitionen zu ermitteln, sollten die Definitionen aber nur beim Erstellen einer neuen Tabelle mit CreateTable oder CreateDataSet ändern.

Um auf die Felder und Feldwerte in einer Datenmenge zuzugreifen, verwenden Sie die Eigenschaften Fields, AggFields und FieldValues sowie die Methode FieldsByName.

Anmerkung: Wenn die Datenmenge Objektfelder enthält, repräsentiert FieldDefs eine hierarchische Ansicht der Daten. Um die Definitionen als nichthierarchische Ansicht abzurufen, verwenden Sie stattdessen FieldDefList.
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#3

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 14:44
auch mit einer Query ohne Erfolg! Was mache ich falsch?

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if FileExists(ExtractFilePath(Application.ExeName)+'ELP.fdb') then
  begin
   IBCTable1.TableName := 'EINSATZ';
   IBCTAble1.Active := true;
  end else
begin
  IBCConnection1.Database := ExtractFilePath(Application.ExeName)+'ELP.fdb';
  IBCConnection1.Params.Clear;
  IBCConnection1.Params.Add('USER ''SYSDBA''');
  IBCConnection1.Params.Add('PASSWORD ''masterkey''');
  IBCConnection1.Params.Add('PAGE_SIZE 4096');
  IBCConnection1.Params.Add('DEFAULT CHARACTER SET WIN1250');
  IBCConnection1.CreateDatabase;
  IBCConnection1.Connected := false;
  IBCConnection1.Params.Clear;
  IBCConnection1.Params.Add('USER_NAME=SYSDBA');
  IBCConnection1.Params.Add('PASSWORD=masterkey');
  IBCConnection1.Connected := true;
  IBCTransaction1.Active := true;
  with IBCQuery1 do
begin
   SQL.Clear;
   SQL.Add('create table "EINSATZ"');
   SQL.Add('(');
   SQL.Add(' ID autoinc,');
   SQL.Add(' Gruppe char(20),');
   SQL.Add(' Name char(30),');
   SQL.Add(' Vorname char(30),');
   SQL.Add(' Strasse char(30),');
   SQL.Add(' Hausnr char(10),');
   SQL.Add(' PLZ Char(10),');
   SQL.Add(' Ort char(20),');
   SQL.Add(' Telefon char(30),');
   SQL.Add(' primary key(ID)');
   SQL.Add(')');

   execsql;
end;
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 14:59
Was bedeutet "ohne Erfolg"? Fehlermeldung? Keine Tabelle? Fehlerhafte Tabelle?
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#5

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 15:10
Also die Database ist da (ELP.fdb) aber
in der Database ist keine Tabelle vorhanden!

Fehlermeldung:

Dynamic SQL Error SQL error code= -204 Table unknown EINSATZ At line1, column15.

Geändert von strom ( 1. Feb 2015 um 15:21 Uhr)
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
221 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 15:19
Firebird ist eine Transactionsorientierte Datenbank

Ohne abschließendes Commit oder Autocommit (nicht empfehlenswert) in den Einstellungen
werden Änderungen nicht sichtbar

Wie sind die Einstellungen der Transactionskomponente
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#7

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 15:29
Die Eigenschaft "Auto Commit ist auf "true" gesetzt!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 17:10
Vielleicht schaust du dir mal dieses Beispiel an, das zwar zur Geschwindigkeitsmessung entworfen wurde, aber ebenfalls eine Firebird-Tabelle erstellt, das mit einem vorausgehendem IBTransaction1.StartTransaction; und einem abschließendem IBTransaction1.Commit; arbeitet.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 18:14
SQL.Add(' ID bigint not null,'); Autoinc dann per Generator+Trigger.
Markus Kinzler
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: Firebird CreateTable Fehlermeldung

  Alt 1. Feb 2015, 18:59
Also die Database ist da (ELP.fdb) aber
in der Database ist keine Tabelle vorhanden!

Fehlermeldung:

Dynamic SQL Error SQL error code= -204 Table unknown EINSATZ At line1, column15.
Neben den bereits genannten Punkten:

Wieso steht der Tabellenname in doppelten Anführungsstrichen?

Hab kein Firebird am Start zum Test, aber wenn Du die Tabelle mit Quotes anlegst, musst Du sie auch genau so abfragen. Oder wie stellst Du die Existenz der Tabelle fest?
Lieber die Quotes weglassen, dann ist GroßKleinSchreibung beim Abfragen (DML) egal.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:21 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