![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить существует ли база? [D6, XP]
serko © (2010-02-02 23:15:00)Здравствуйте! Есть такой код:
IbDataBase2.DatabaseName:='Server:C:\Base.fdb';
IBDataSet2.SelectSQL.Clear;
IBDataSet2.SelectSQL.Add('select * from OTVETI');
IBDatabase2.Open;
IBTransaction2.Active:=true;
IBDataSet2.Open;
Подскажите как проверить существует ли указанная база на указанном компе или нет, что бы исключить ошибку при IBDatabase2.Open;?
Германн (2010-02-05 01:34:00) [1]
> Медвежонок Пятачок © (04.02.10 22:11) [12]
>
> http://www.delphimaster.ru/cgi-bin/forum.pl?id=1265307465&n=18
>
> брат по разуму.
>
Брат по неразумию.
Дмитрий Белькевич (2010-02-05 00:13:00) [2]
> у других так работает а у меня нетю Почему?
> http://www.delphimaster.ru/cgi-bin/forum.pl?id=1265307465&n=18
[12]
Медвежонок Пятачок (2010-02-04 23:30:00) [3]Правильно так, как у тебя сделано.
Хотя и не совсем.
если исключение будет иного типа, ничего не словится.
serko (2010-02-04 23:12:00) [4]try
IBDatabase1.Connected:=true;
except
on E:EIBInterBaseError do ShowMessage('Внимание ошибка!');
end;
у других так работает а у меня нетю Почему? как правильно сделать?
Медвежонок Пятачок (2010-02-04 22:11:00) [5]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1265307465&n=18
брат по разуму.
serko (2010-02-04 22:06:00) [6]try
IBDatabase1.Connected:=true;
except
on e:Exception do ShowMessage('Внимание ошибка!');
end;
Почему так не выскакивает "Внимание ошибка" а выскакивает ошибка ошибка Debuggera? Хотя я заведомо указал не существующий файл базы....
Сергей М. (2010-02-04 08:30:00) [7]
> ЗАРЕГИСТРИРОВАНА ЛИ ОНА на Server
И что сие значит ?
Server'у не нужны никакие "регистрации" (если только речь не идет о псевдонимах) - он без них расчудесно находит и работает с БД, указанными клиентом в строке подключения.
serko (2010-02-04 08:19:00) [8]Прошу прощения что не дал сразу всю информацию.
Я подразумевал под СУЩЕСТВУЕТ - ЗАРЕГИСТРИРОВАНА ЛИ ОНА на Server, если это не так выскакивает ошибка Unabled base......
Еще раз извените. помогите пожалуйста!
Германн (2010-02-04 02:35:00) [9]
> И какого тогда лешего ты спрашивал "Как проверить существует
> ли база?"
>
Реинкарнация вопроса "Как проверить существование базы до подключения к ней"
Медвежонок Пятачок (2010-02-04 01:27:00) [10]простая проверка существования файла базы не катит.
И какого тогда лешего ты спрашивал "Как проверить существует ли база?"
serko (2010-02-04 00:18:00) [11]
> нужны права на админскую шару \\server\c$
У меня база на FireBird, простая проверка существования файла базы не катит.
> Не надо это делать, надо просто обработать ошибку и выдать
> сообщение.
как это правильно сделать на примере можете показать?
Anatoly Podgoretsky (2010-02-03 09:08:00) [12]
> что бы исключить ошибку при IBDatabase2.Open;?
Не надо это делать, надо просто обработать ошибку и выдать сообщение.
Anatoly Podgoretsky (2010-02-03 09:07:00) [13]Какой идиот поставил базу в голову диска.
Германн (2010-02-03 02:06:00) [14]
> Подскажите как проверить существует ли указанная база на
> указанном компе или нет, что бы исключить ошибку при IBDatabase2.
> Open;?
А зачем? Не лучше ли вызвать IBDatabase2.Open. Обработать ошибку, если она возникнет. И если она возникла, сообщить юзеру в чём он не прав.
Медвежонок Пятачок (2010-02-03 00:33:00) [15]это чтобы проверить есть ли там файл данных C:\Base.fdb
от ошибки при open это не гарантирует, даже если она там есть.
Медвежонок Пятачок (2010-02-03 00:32:00) [16]нужны права на админскую шару \\server\c$
ну и сама эта шара нужно чтобы реально там была.