Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35

Проверка наличия подключенной БД, с помощью ADOConnection

20.04.2012, 18:58. Показов 2927. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Искал по интернету, нигде ничего толкового не нашел. Если кто знает, помогите Plz.
БД подключена с помощью ADOConnection.
Суть в том, что при запуске программы, должна производится проверка наличия подключения БД, и если она корректно подключена - должно вывестись окно, с сообщением о том, что все прошло успешно. Если же нет - окно с кнопкой "Обзор..", где происходит выбор нового пути, к необходимой БД. Как это сделать, я понять не могу. Проблему составляет еще и то, что если тот путь, который уже указан в ADOConnection->ConnectionString не верен и по нему БД нет, то программа вообще даже не начинает выполняться. Просто выдает что определенный файл не найден и закрывается..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2012, 18:58
Ответы с готовыми решениями:

Проверка наличия папки с помощью клиентского скрипта
Пишу навигацию для html-курсов с однообразной структурой, которые потом будут закатываться на балванку. Хотелось бы сделать универсальное...

Проверка пути AdoConnection
Всем привет:) задача в следующем: соединяюсь с базой данных указывая путь в ADOConnection.connectionstring через OpenDialog, подскажите...

Проверка наличия шрифта в системе и установить если отсуствует + проверка запущен ли проект с правами админа
Здравствуйте. Как можно проверить наличия шрифта в системе и установить его если отсуствует. Ну плюс еще проверить запущен ли проект от...

14
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 21:36
Проверяешь наличие файла базы при помощи метода
C++
1
FileExists()
Добавлено через 8 минут
Если файл присутствует, то подключай его к проекту, если файла нет то используй OpenDialog для открытия фала и нахождения его
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 22:23  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Проверяешь наличие файла базы при помощи метода
C++
1
FileExists()
Добавлено через 8 минут
Если файл присутствует, то подключай его к проекту, если файла нет то используй OpenDialog для открытия фала и нахождения его
Спасибо за наводку, но можно чуть по-подробнее, как подключить его в проект? В ADOConnection в свойстве ConnectionString много всяких параметров, как именно мне указать, что путь, который я выбрал через OpenDialog является путем к БД?

Добавлено через 24 минуты
И, расскажите, пожалуйста, как пользоваться этим методом FileExists)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 22:24
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 String WayToBase, filename = "BD.mdb";
  if(!FileExists(ExtractFilePath(Application->ExeName)+filename))
{
   AnsiString ds = "Â êîðíåâîì êàòàëîãå îòñóòñòâóåò ôàéë ñ èìåíåì \n\n\t" +filename;
 
     if (Application->MessageBox(ds.c_str(),"Ïðåäóïðåæäåíèå",MB_OK +MB_TOPMOST+ MB_ICONWARNING)==IDOK)
  {
     if(OpenDialog1->Execute())
      {
        filename = OpenDialog1->FileName;
        WayToBase=ExtractFilePath(Application->ExeName)+filename;
        ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+WayToBase+";Persist Security Info=True";
       ADOConnection1->Connected = true;
       ADOQuery1->ConnectionString = ADOConnection1->ConnectionString;
 }
  }
 
}
  
else
 {
 
  WayToBase=ExtractFilePath(Application->ExeName)+filename;
  ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+WayToBase+";Persist Security Info=True";
  ADOConnection1->Connected = true;
  ADOQuery1->ConnectionString = ADOConnection1->ConnectionString;
}
1
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 22:37  [ТС]
Спасибо большое!)
Это, я так понимаю вешать на событие OnCreate? Повесив код туда, ошибка выдается, но OpenDialog не открывается.

_______________
А нет, он не открывался, только при компиляции и выполнении в самом Builder'е. Если запускать через *.exe все работает) Только при выборе БД выбивает вот такую ошибку: (дословно)
Access violation at address 00402D8f in module 'Project1.exe'. Read of address 000002F0.
Но БД все равно подключает. Что за ошибка, не подскажете? И как от нее избавиться?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 22:40
Какая ошибка?
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 22:47  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Какая ошибка?
Описал постом выше)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 22:48
Какой у тебя билдер?
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 22:53  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Какой у тебя билдер?
Шестой. Данные с БД просмотреть можно, но действия над ней также произвести не возможно. При попытке выдает такую же ошибку
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 22:56
выложи проект я гляну
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 23:03  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
выложи проект я гляну
Вот) На 2 форме твой код, на 4 сама БД. Спасибо)
Вложения
Тип файла: rar Pre-Reliase.rar (1.81 Мб, 8 просмотров)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 23:48
Вот держи
Вложения
Тип файла: rar Pre-ReliaseEdit.rar (1.82 Мб, 27 просмотров)
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
20.04.2012, 23:51  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Вот держи
Спасибо еще раз) А что там пришлось исправить? В чем была ошибка?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.04.2012, 23:54
Да там я просто код подправил в OpenDialoge кстати поставь фильтр в OpenDialoge, чтобы файл базы фильтровало
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
21.04.2012, 00:14  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
в OpenDialoge кстати поставь фильтр в OpenDialoge, чтобы файл базы фильтровало
уже)
Только вот, БД все равно не отображает. Ни если база в корне есть, ни если ее указать в другом каталоге. СonnectionString остается пустым все равно и он и должен быть пустым в начале?

Добавлено через 14 минут
_____________
А все, проблему решил)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2012, 00:14
Помогаю со студенческими работами здесь

Проверка имени пользователя в ADOConnection
Всем доброго времени суток. Смысл задачи - доступ к базе через ADOConnection определенным пользователям (по списку логинов). Нужно сделать...

Timer - проверка подключения к БД ADOConnection
Добрый день! Прошу помочь) На форме имеются: ADOConnection Panel Timer Memo

ADOConnection, не пройдена проверка подлинности
имеется следующий код. база находится в папке с программой. procedure TForm1.FormCreate(Sender: TObject); begin ...

С помощью рефлексии нужно вызвать метод динамически подключенной библиотеки
С помощью рефлексии нужно вызвать метод динамически подключенной библиотеки. Делаю так: private void InvokeMethod(MethodInfo info,...

Сумирование по столбцу БД Access с помощью компонентов DBGrid,ADOConnection,ADODataSet
Ребят уже 3 часа я ищу как это сделать и не могу найти , нахожу чтото типо такого Query1->SQL->Text = "SELECT SUM(sum) FROM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru