Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить существует ли база? [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$
ну и сама эта шара нужно чтобы реально там была.


Наверх

Титульная страница Поиск, карта сайта Написать письмо