Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Вниз

работа с Alias   Найти похожие ветки 

 
zep   (2003-07-02 23:24) [0]

привыт ALL подскажите как сделать чтобы при запуске программа проверяла Alias базы и если такого нет, создавала его. желательно с примером.


 
zep   (2003-07-02 23:37) [1]

??????????????????????


 
Zacho   (2003-07-03 09:03) [2]

Смотри св-ва и методы TSession.


 
гончий   (2003-07-03 09:21) [3]

function AliasExists(DbName: PChar): boolean;
var
E: DbiResult;
DbRec: DbDesc;
IsInit: boolean;
begin
IsInit := True;
Result := False;
while True do
begin
E := DbiGetDataBaseDesc(DbName, @DbRec);
IsInit := ( E <> DBIERR_NOCONFIGFILE );
if( not IsInit )then
begin
DbiInit(nil);
Continue;
end;{ IF }
Result := ( E = DBIERR_NONE );
Break;
end;{ WHILE }
if( not IsInit)then DbiExit;
end;

function CheckAlias(DbName, DbPath, DbType: PChar): boolean;
var PATH: string;
begin
Result := AliasExists( DbName );
if not Result then
begin
PATH := "PATH:" + DbPath;
Result := DbiAddAlias(nil, DbName, DbType, PChar(PATH), True) = DBIERR_NONE;
if Result then
SESSION.SaveConfigFile;
//Result := DbiCfgSave(nil, nil, False) = DBIERR_NONE;
end;
end;


 
Edward   (2003-07-03 09:34) [4]

var Session: TSession;
AliasParams: TStrings;
Index: Integer;
begin
Session := TSession.Create(nil);
Session.AutoSessionName := True;
try
if Session.IsAlias("MyAlias") then
ShowMessage("Алиас существует!")
else begin
AliasParams := TStringList.Create;
try
with AliasParams do
begin
Add("SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB");
Add("USER NAME=MYNAME");
end;
Session.AddAlias("MyAlias","INTRBASE", AliasParams);
finally
AliasParams.Free;
end;
end;
finally
Session.Free;
end;
end;


 
AbrosimovA   (2003-07-03 13:57) [5]

Program Base;

uses Forms,Windows,Registry,SysUtils,Classes,DBTables,

Module in "Module.pas" {DataModule1: TDataModule},
Main in "Main.pas" {MainForm};

{$R *.RES}

var L : TStringList;
Index: integer;
Flag: boolean;

begin
with TRegistry.create do begin
Rootkey := HKEY_LOCAL_MACHINE;
if Not (OpenKey("SOFTWARE\BORLAND\DATABASE ENGINE", false)) then
begin
MessageBox(0,PChar("Не установлена BDE."),
PChar("Ошибка"), mb_OK);
Application.Terminate;
end
else begin
CFGFile := ReadString("CONFIGFILE01");
Free;
try
Application.CreateForm(TDataModule1, DataModule1);
except
MessageBox(0,PChar("Ошибка настройки базы данных MyBase
(Paradox) !!!"),PChar("Ошибка"), mb_OK);
Application.Terminate;
end;
DataModule1.Session1.ConfigMode := cmPersistent;
L := TStringList.Create;
try
DataModule1.Session1.GetAliasNames(L);
for Index := 0 to L.Count - 1 do
if L.Strings[Index]="MyBase" then Flag:=true;
if NOT(Flag) then begin
L.Add("PATH="+ExtractFilePath(Application.Exename)+"Data");
DataModule1.Session1.AddAlias("MyBase", "STANDARD", L);
DataModule1.Session1.SaveConfigFile;
end;
DataModule1.Cust.Active:=true;
finally
L.Free;
end;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end;
end;

end.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-78092
Маудзедун
2003-07-07 12:49
2003.07.24
Объясните что, такое трехзвенка


8-78000
Deus
2003-03-31 03:39
2003.07.24
Как реализовать Magic Wand?


14-78078
Романов Р.В.
2003-07-07 20:40
2003.07.24
News Group


14-78101
Soft
2003-07-08 11:17
2003.07.24
Во имя процесса-отца, процесса-сына и святаго root а: Enter!


3-77734
PlaTinum
2003-06-29 23:00
2003.07.24
Клиент/Сервер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский