unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, JvExDBGrids, JvDBGrid, ComCtrls;
type
TFormMain =
class(TForm)
Button_Tabellen: TButton;
ListBox_Tabellen: TListBox;
Button_Anlegen: TButton;
ListBox_Spalten: TListBox;
DBGrid1: TDBGrid;
Button_FelderDel: TButton;
UD_Anzahl: TUpDown;
Edit_Anzahl: TEdit;
procedure Button_TabellenClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button_AnlegenClick(Sender: TObject);
procedure Button_FelderDelClick(Sender: TObject);
private { Private-Deklarationen }
PROCEDURE TabellenNamen;
public { Public-Deklarationen }
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
USES
UnitData;
VAR
Pfad :
String;
procedure TFormMain.FormActivate(Sender: TObject);
begin
Pfad := ExtractFilePath(ParamStr(0));
DatMod.ZCon.Connect;
IF NOT DatMod.ZCon.Connected
THEN
BEGIN
ShowMessage('
keine Verbindung');
END;
DatMod.ZTab_Test.Active := TRUE;
TabellenNamen;
end;
PROCEDURE TFormMain.TabellenNamen;
BEGIN
DatMod.ZCon.GetTableNames('
test',ListBox_Tabellen.Items);
DatMod.ZTab_Test.Close;
DatMod.ZTab_Test.Open;
DatMod.ZTab_Test.GetFieldNames(ListBox_Spalten.Items);
END;
// Tabelle erweitern
procedure TFormMain.Button_AnlegenClick(Sender: TObject);
VAR
i,A,Z : Integer;
Datei,
Aus :
String;
begin
A := ListBox_Spalten.Count;
Z := A + UD_Anzahl.Position -1;
Datei := Pfad + '
Alter.txt';
DatMod.ZQuery1.SQL.Clear;
DatMod.ZQuery1.SQL.Append('
ALTER TABLE test.testtabelle');
FOR i := A
TO Z
DO
BEGIN
Aus := IntToStr(i);
IF i < 100
THEN Aus := '
0' + Aus;
IF i < 10
THEN Aus := '
0' + Aus;
IF i = Z
THEN
Aus := '
ADD Spalte_' + Aus + '
FLOAT'
ELSE
Aus := '
ADD Spalte_' + Aus + '
FLOAT,';
DatMod.ZQuery1.SQL.Append(Aus);
END;
// DatMod.ZQuery1.SQL.SaveToFile(Datei);
DatMod.ZQuery1.ExecSQL;
TabellenNamen;
ShowMessage(IntToStr(Z - A + 1) + '
neue Spalten angelegt');
end;
// Spalten löschen
procedure TFormMain.Button_FelderDelClick(Sender: TObject);
VAR
i,A : Integer;
Aus :
String;
begin
A := ListBox_Spalten.Count -1;
DatMod.ZQuery1.SQL.Clear;
DatMod.ZQuery1.SQL.Append('
ALTER TABLE test.testtabelle');
FOR i := 1
TO A
DO
BEGIN
Aus := ListBox_Spalten.Items[i];
IF i = A
THEN
DatMod.ZQuery1.SQL.Append('
DROP ' + Aus)
ELSE
DatMod.ZQuery1.SQL.Append('
DROP ' + Aus + '
,');
END;
DatMod.ZTab_Test.Close;
DatMod.ZQuery1.ExecSQL;
TabellenNamen;
ShowMessage('
Alle Spalten bis auf Spalte_000 gelöscht');
end;
procedure TFormMain.Button_TabellenClick(Sender: TObject);
begin
TabellenNamen;
end;
end.