(* DataBase + Tables anlegen DataBase + Tables anlegen *)
(* TEIL1 --- TEIL1 --- TEIL1 *)
(******************************************************************************)
procedure TForm3.SpeedButton2Click(Sender: TObject);
(******************************************************************************)
VAR DBPath :
STRING;
MyResult :
String;
const
cCreateTxt = '
%d. Versuch: Datenbank wird erstellt...';
cReadyTxt = '
Datenbank wird erstellt!';
begin
MyResult := GetCurrentDir;
// bestimmen des Arbeitsverzeichnisses
g_ArbeitsVerz := MyResult;
g_DBPfad := g_ArbeitsVerz + '
\DB';
DBPath := g_DBPfad + '
\My_IB_DB.gdb';
EditDBPath.Text := DBPath;
If not FileExists(g_DBPfad + '
\My_IB_DB.gdb')
then
begin
Screen.Cursor := crHourGlass;
If DataModule2.IBD.LoginPrompt = TRUE
THEN DataModule2.IBD.LoginPrompt := FALSE;
IF DataModule2.IBD.Connected = TRUE
THEN DataModule2.IBD.Connected := FALSE;
DataModule2.IBD.Params.Clear;
try
try
StatusBar1.SimpleText := Format(cCreateTxt, [1]);
StatusBar1.Refresh;
with DataModule2.IBD
do
begin
DatabaseName := EditDBPath.Text;
Params.Add(Format('
USER ''
%s''
',[EditUserName.Text]));
Params.Add(Format('
PASSWORD ''
%s''
', [EditPassword.Text]));
// nur so geht es
SQLDialect:= 3;
// mit Dialekt 3 !
Params.Add('
PAGE_SIZE 4096');
// SQLDialect'3'-->
Params.Add('
DEFAULT CHARACTER SET ISO8859_1');
// wahrscheinlich wegen
CreateDatabase;
// Double-Quotes !!
end;
StatusBar1.SimpleText := cReadyTxt;
-->> tables_anlegen;
SpeedButton3.Enabled := False;
except
on E:EDatabaseError
do // IBD.Params.Add( Format( 'USER ''%s''', [Username] ) );
// IBD.Params.Add( Format( 'PASSWORD ''%s''', [Password] ) );
begin
MessageBeep(MB_ICONEXCLAMATION);
MessageDlg(E.
Message, mtError, [mbOk], 0);
end;
end;
finally
Screen.Cursor := crDefault;
end;
end ELSE ShowMessage('
Die Datenbank existiert schon !');
end;