![]() |
Datenbank: InterBase • Version: 6 • Zugriff über: CDS + SQL
create tabel vom Client aus
Hallo Zusammen!
Ich probiere in meinem Delphi-Programm eine neue Tabelle zu erstellen innerhalb der Datei EMPLOYEE.GDB. Hierzu benutze ich TIBQuery. Im SQL-property habe ich den später beschriebenen SQL-code erfasst. Ich probiere dieses Programm von einem Client her aus zu führen. Leider ergibt dieser Code den Fehler "Database not assigned". Meine Frage: Kann ich ein solches Programm überhaupt vom Client ausführen und so ja was vergesse ich dann? [delphi]var SQLBITSFrm1 : TSQLBITSFrm1; BITSDB : TIBDataBase; BITSTR : TIBTransaction; BITSTAB : TIBTable; BIndex : TIndexOptions; procedure TSQLBITSFrm1.BITSDBLogin(Database: TIBDatabase; LoginParams: TStrings); var UNameStr : String[20]; PassWStr : String[20]; begin UNameStr:='SYSDBA'; PassWStr:='masterkey'; LoginParams.Values['USER_NAME']:=UNameStr; LoginParams.Values['PASSWORD'] :=PassWStr; end; procedure TSQLBITSFrm1.BITSSQL; begin BITSDB :=TIBDataBase.Create(Self); BITSDB.OnLogin :=BITSDBLogin; BITSDB.DatabaseName :='\\LCServer\D:\BitsSQL\examples\EMPLOYEE.GDB'; BITSDB.Connected :=True; BITSTR :=TIBTransaction.Create(Self); BITSTR.DefaultDatabase:=BITSDB; BITSTR.Active :=True; With BSQL do begin SQL.Clear; SQL.Add ( ' CREATE DOMAIN STR1 AS STRING(1) ' + ' CREATE DOMAIN STR4 AS STRING(4) ' + ' CREATE TABLE BSUSER ( ' + ' GB_SysNr STR4 NOT NULL UNIQUE, ' + ' GB_Name STRING(20), ' + ' GB_Gehm STRING(10), ' + ' GB_Equiv STR4, ' + ' GB_GGrupp STR4, ' + ' GB_Sprache STR1, ' + ' GB_SMod STR4, ' + ' GB_Typus STR1, ' + ' PRIMARY KEY (GB_SysNr)); '); ExecSQL; end; end; |
Re: create tabel vom Client aus
Moin, moin
ich hab' das mal kommentiert... siehe unten Gruß Malte
Delphi-Quellcode:
BITSDB.Connected :=True;
BITSTR :=TIBTransaction.Create(Self); BITSTR.DefaultDatabase:=BITSDB; BITSTR.Active :=True; // breakpoint setzen: active=true? With BSQL do // bislang unbekannt :???: begin // ist mit welcher Datenbank verbunden? SQL.Clear; SQL.Add ( ' CREATE DOMAIN STR1 AS STRING(1) ' // AS VARCHAR(1) + ' CREATE DOMAIN STR4 AS STRING(4) ' // AS VARCHAR(4) + ' CREATE TABLE BSUSER ( ' |
Re: create tabel vom Client aus
Moin Moin Malte,
Ich habe IBScript verwendet. Jetzt funktioniert es gut. Das Programm sieht - zum Teil - jetzt so aus:
Delphi-Quellcode:
Ob es möglich ist jetzt auch die Datenbank so zu erstellen? (mit CREATE DATABASE)
BScript.Database :=BITSDB;
BScript.Transaction :=BITSTR; With BScript do begin Script.Clear; Script.Add ( ' CREATE DOMAIN CH1 AS CHAR(1); ' + ' CREATE DOMAIN CH4 AS CHAR(4); ' + ' CREATE DOMAIN CH10 AS CHAR(10); ' + ' CREATE DOMAIN CH20 AS CHAR(20); ' + ' CREATE TABLE BSUSER ( ' + ' GB_SysNr CH4 NOT NULL, ' + ' GB_Name CH20, ' + ' GB_Gehmw CH10, ' + ' GB_Equiv CH4, ' + ' GB_GGrupp CH4, ' + ' GB_Sprache CH1, ' + ' GB_SMod CH4, ' + ' GB_Typus CH1, ' + ' PRIMARY KEY (GB_SysNr)); '); ExecuteScript; end; Gibt es Vorschläge? MfrGr. Plutarch |
Re: create tabel vom Client aus
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 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