![]() |
Datenbank: Interbase • Version: Developer Edition • Zugriff über: Interbase
TIBTable
Hallo,
ich habe ein Problem mit Interbase und TIBTable. Ich habe immer mit der BDE gearbeitet und bin in Interbase Anfänger! Ich wollte eine Datenbank erstellen zur Entwurfszeit als TIBTable. Ich habe die Datenbank mit der IBConsole erstellt. Habe dann über die Komponentenproperties die Felder festgelegt. Wollte dann mit create Table zur Entwurfszeit die Tabelle erstellen. Ich habe keine Möglichkeit gefunden dies zu tun :-( Nun da alle Felder bereits angezeigt wurden wollte ich dann mit einer kleinen Dummyunit eben zur Laufzeit die Tabelle erstellen. Bekomme zur Laufzeit jedoch immer die Meldung: Error nicht unterstützter Datentyp. System: Win10 64 Bit Tokyo 10.2 Interbase Developer 64 Bit Hier einmal die Dummyunit. Die Deklarationen sind bereits über die Komponenten da. Wahrscheinlich werde ich einige Komponenten zu viel drin haben. Anfänger eben :-)
Delphi-Quellcode:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DBXInterBase, Data.FMTBcd, Data.DB, Datasnap.DBClient, Datasnap.Provider, Data.SqlExpr, Vcl.StdCtrls, Vcl.ToolWin, Vcl.ComCtrls, IBX.IBCustomDataSet, IBX.IBDatabase, IBX.IBTable, IBX.IBConnectionBroker, Vcl.Grids, Vcl.DBGrids; type TForm1 = class(TForm) Button1: TButton; StatusBar1: TStatusBar; ToolBar1: TToolBar; IBDataSet1: TIBDataSet; DataSource1: TDataSource; IBDataSet1Nummer: TAutoIncField; IBDataSet1Bild: TStringField; IBTransaction1: TIBTransaction; IBDataSet1Memo: TMemoField; IBDataSet1Name: TMemoField; N: TMemoField; IBDataSet1Eigenschaft: TMemoField; IBDataSet1Körper: TMemoField; IBDataSet1Zeit: TMemoField; IBDataSet1Person: TMemoField; IBDataSet1Karma: TMemoField; IBDatabase1: TIBDatabase; DBGrid1: TDBGrid; IBTable1: TIBTable; IBTable1Nummer: TAutoIncField; IBTable1Bild: TStringField; IBTable1Memo: TMemoField; IBTable1Name: TMemoField; IBTable1Schlüssel: TMemoField; IBTable1Eigenschaft: TMemoField; IBTable1Körper: TMemoField; IBTable1Zeit: TMemoField; IBTable1Person: TMemoField; IBTable1Karma: TMemoField; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Button1.Caption:='DB 123'; IBTable1.CreateTable; Button1.Caption:='DB erstellen'; end; end. |
AW: TIBTable
Kenne Interbase nicht wirklich (ist seeeeeeehhhhhhr lange her).
FireBird ist aber aus Interbase entstanden. FireBird kennt kein TAutoIncField, da muss man mit 'nem Generator (Sequence) arbeiten. Schau bitte mal, ob Dir einer der Artikel hier weiterhilft: ![]() |
AW: TIBTable
Hi Delphi.Narium,
Danke erst mal für deine Antwort! Das Problem ist also das Autoinc Feld wenn ich das richtig verstehe :-((( Ok. Das Hat mir schon mal ein ganzes Stück weiter geholfen!!! |
AW: TIBTable
Moin...:P
Zitat:
0. Datenbank und die Tabellen mit IBConsole oder IBExpert oder FlameRobin erstellen. Hinweis: Wie Delphi.Narium sagte... "kennt kein TAutoIncField, da muss man mit 'nem Generator (Sequence) arbeiten" ![]() Hinweis: die Datenbank ist ein File...incl. der Tabellen. Nicht wie mit der BDE (Paradox) Hinweis: nur im Notfall sollte die Datenbank zur Laufzeit geändert werden...und wenn nur von einer Workstation! (Updater) 1. leeres Projekt (uses IBxxx leer!) 2. visuelle Komponenten drauf 3. Query als Komponente drauf (keine Table sondern Query! Table verwendet keiner mehr...8-)) 4. Connection als Komponente drauf, Grundeinstellungen behalten (zur Designzeit niemals Active = True setzen!) 5. Datasource als Komponente drauf 6. Grid: alternativ Spalten erstellen // sonst werden beim Laden der Daten alle Spalten angezeigt 7. INI erstellen mit den "Connection Daten" - Alternativ hardcoded in die Connection eintragen (= bäääh :zwinker:) 8. Form Create: INI laden und den Connection String der Connection zuordnen und Active = True setzen 9. Starten. 10. Button Click: SQL erstellen, der Query übergeben und ausführen. (select * from Blubb) SQL Tutorial: ![]() Normalisierung (für den Anfang nicht wichtig, sollte man aber mal gehört haben :wink:): ![]() Wenn das funktioniert, dann kannst du rumprobieren...und wir haben dann die nächsten Fragen am Hals. :thumb:8-) |
AW: TIBTable
Hallo Haentschmann,
Danke für deine Antwort. Hab inzwischen meine beiden Paradoxtabellen in Interbase portiert und neu geschrieben bzw. schreiben lassen von ner dummy datei . Das "alte" Programm war nach einigen wenigen Änderungen mit der Interbasedatenbank wieder lauffähig. :-) Mit dem SQL von Interbase bin ich noch etwas am kämpfen....aber das wird schon. Die Datenbanken laufen erst mal. Vielen Dank für eure Hilfe und Unterstützung mfg Rainer Groer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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