Registriert seit: 15. Nov 2002
96 Beiträge
Delphi XE5 Professional
|
2. Mai 2003, 16:36
Hallo WerWurm,
habe das Erstellen und Handling mit Paradox-Tabellen über SQL gelöst. Dazu habe ich folgende Funktion geschrieben und mit einem TQuery-Objekt (keißt hier im Quelltext DB_CreateQuery) verknüpft:
Code:
procedure TMainForm.ExecSQLStatement( SQLStatement : String );
begin
DB_CreateQuery.Active := FALSE;
DB_CreateQuery.SQL.Clear;
DB_CreateQuery.SQL.Add( SQLStatement );
try
DB_CreateQuery.Prepare;
try
DB_CreateQuery.ExecSQL;
except
DB_CreateQuery.SQL.Clear;
MessageDlg('Problem bei der SQL-Ausführung (Error by ExecSQL), Routine ExecSQLStatement in Main.pas' +#13+#13+
'"'+ SQLStatement + '"', mtError, [mbOK], 0);
end;
except
DB_CreateQuery.SQL.Clear;
MessageDlg('Problem bei der SQL-Ausführung (Error by Prepare), Routine ExecSQLStatement in Main.pas' +#13+#13+
'"'+ SQLStatement + '"', mtError, [mbOK], 0);
end;
DB_CreateQuery.Active := FALSE;
end;
Dann kann ich das Erstellen der Tabellen und Indexe als SQL-Befehl folgendermaßen im Programm los werden:
Tabelle anlegen:
Code:
ExecSQLStatement('CREATE TABLE Uebungen' +
'( '+
'UebClient INTEGER, '+
'UebNummerManuell INTEGER, '+
'UebBibliothek CHARACTER(1), '+
'UebBereich CHARACTER(30), '+
'UebBereichNummer SMALLINT, '+
'UebAnzahlMin SMALLINT, '+
'UebAnzahlMax SMALLINT, '+
'UebTrainingsPhase SMALLINT, '+
'UebTPhaseString CHARACTER(16), '+
'UebSchwierigkeit SMALLINT, '+
'UebDauer NUMERIC(10,2), '+
'UebBezeichnung CHARACTER(60), '+
'UebZiel BLOB(240,1), '+
'UebBeschreibung BLOB(240,1), '+
'UebVariation BLOB(240,1), '+
'UebFeldDaten BLOB(50,1), '+
'PRIMARY KEY (UebClient)'+
' )' );
und das Anlegen von Sekundär Indizes:
Code:
ExecSQLStatement('CREATE INDEX'+
' UBereich ON ''Uebungen.db'' (UebBereichNummer)' );
Ich hoffe, das hilft Dir und Du kannst das verwenden.
Grüsse
Hacki
Es ist nicht gesagt, daß es besser wird, wenn es anders wird! Wenn es aber besser werden soll, muß es anders werden! ** There are 10 different types of people in this world; those who understand binary numbers and those who don’t !
|