Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296

работа с БД с помощью ADO-компонентов

11.08.2011, 13:27. Показов 10055. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане. Вот решил полностью разобраться с БД и ADO-компонентами. Но сразу же столкнулся с такой проблемой. Как узнать сколько таблиц находится в БД и какие у них имена. А также как создать новую таблицу программно средствами ADO. Пишу на с++.
Может кто литературой поможет, а то не нашел ничего путного для билдера и ADO.
Заранее благодарен!!!

Добавлено через 35 минут
Народ помогите, очень нужно!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.08.2011, 13:27
Ответы с готовыми решениями:

Проблема с маской dbedit, который расположен на другой форме от ADO компонентов
Есть форма1, где расположены DBEdit(ы), которым программно задается значение Dataset и Datafield в процедуре onCreate формы1. DataSource и...

Чтение таблицы из БД с помощью ADO
Здавствуйте! У меня такая проблема: нужно из БД ACCESS прочитать таблицу с именем Name и записать ее в файл .txt. Сделала такой каркас: ...

Строка подключения к бд Access? С помощью ADO?
Network=; Provider=; Persist Security Info=True; Initial Catalog=; Data Source=; Use Procedure for Prepare=1; Auto...

47
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
19.08.2011, 23:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от to Посмотреть сообщение
А можно простенький пример такого обращения? Если не трудно.
Не трудно

C++
1
MainForm->ADOQuery1->Active = true;
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
19.08.2011, 23:20  [ТС]
Спасибо!!!
а как с етим быть
я так понимаю вот в чем прикол!
метод
Код C++
1
OpenDialog1->FileName
дает вот такой результат "E:\bd.mdb" . В этом и вся соль, потому что когда ввожу путь "E:\\bd.mdb" все прекрасно работает.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
19.08.2011, 23:30
Цитата Сообщение от to Посмотреть сообщение
Спасибо!!!
а как с етим быть
я так понимаю вот в чем прикол!
метод
Код C++
1
OpenDialog1->FileName
дает вот такой результат "E:\bd.mdb" . В этом и вся соль, потому что когда ввожу путь "E:\\bd.mdb" все прекрасно работает.
Используй функцию StringReplace()
1
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
25.08.2011, 15:14  [ТС]
Смотри, Sasha, делаю так
C++
1
ADOTable1->Connection=Form1->ADOConnection1;
и получаю вот такую ошибку:
First chance exception at $7489B760. Exception class EAccessViolation with message 'Access violation at address 00404A04 in module 'Project2.exe'. Read of address 000003A8'. Process Project2.exe (28716)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.08.2011, 16:34
А в каком событии ты это прописываешь?
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
25.08.2011, 17:03  [ТС]
onCreate()
когда создаю дочернее окно

Добавлено через 10 минут
А что это за функция такая StringReplace()? я что-то ничего не могу найти за нее, делфишная есть а сишной нету
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.08.2011, 17:30
Цитата Сообщение от to Посмотреть сообщение
А что это за функция такая StringReplace()? я что-то ничего не могу найти за нее, делфишная есть а сишной нету
https://www.cyberforum.ru/cpp-... 00415.html
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
25.08.2011, 18:10  [ТС]
Sasha, А по чему у меня выскакивает эта ошибка

First chance exception at $7489B760. Exception class EAccessViolation with message 'Access violation at address 00404A04 in module 'Project2.exe'. Read of address 000003A8'. Process Project2.exe (28716)

как мне ее обойти?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.08.2011, 20:19
Если делал в 6 билдере скинь сюда проект я погляжу
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
25.08.2011, 21:44  [ТС]
Вот выложил
Вложения
Тип файла: rar курсач.rar (9.27 Мб, 59 просмотров)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
26.08.2011, 09:03
Цитата Сообщение от Sasha Посмотреть сообщение
Если делал в 6 билдере скинь сюда проект я погляжу
Ты не внемателен, я сказал что если в 6 билдере, то скинь. Запустить не получается.

В какой форме у тебя находится этот код, а то тут много у тебя форм?
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
26.08.2011, 12:33  [ТС]
на первой форме

Добавлено через 43 минуты
НЕ пойму как работает функция StringReplace:
C++
1
StringReplace(bd_name, "\'" ,"\\'",TReplaceFlags()<<rfReplaceAll);
Она что-то ничего не меняет. И не пойму за чем кавычки одинарные!

Добавлено через 43 минуты
StringReplace не хочет работать с обратным слежем ("\").
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
26.08.2011, 19:33
Откуда это взято?
Цитата Сообщение от to Посмотреть сообщение
bd_name
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
02.09.2011, 20:17  [ТС]
Sasha, У меня такой вопрос, как создать БД программно. Я пробую через ADOQuery, но скорее всего для ADOQuery нужно предварительное соединение.
Подскажи пожалуйста!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
02.09.2011, 21:52
Цитата Сообщение от to Посмотреть сообщение
Sasha, У меня такой вопрос, как создать БД программно. Я пробую через ADOQuery, но скорее всего для ADOQuery нужно предварительное соединение.
Подскажи пожалуйста!
Компоненты для SQL(MySQL)
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
03.09.2011, 00:18  [ТС]
делаю как в той теме
C++
1
2
3
4
5
6
7
8
9
10
11
12
 try
             {
             vd=Variant::CreateObject("ADOX.Catalog");
             Procedure Create("Create");
             AnsiString ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\bd.mdb;Persist Security Info=True";
             vd.Exec(Create << ConnectionString );
             vd = NULL;
              }
              catch(Exception &e)
              {
                   ShowMessage(e.Message);
              }
вылетает ошибка

First chance exception at $752CB760. Exception class EAccessViolation with message 'Access Violation'. Process Project2.exe (11176)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.09.2011, 17:48
А этот пример пробывал?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include  <ComObj.hpp>
 
............................
 
 
 
 
try
 {
    Variant acs = CreateOleObject("Access.Application");
    acs.OleFunction("NewCurrentDatabase", (ExtractFilePath(Application->ExeName)+"db.mdb").c_str());
    acs.OleFunction("Quit");
    acs = Unassigned;
  }
  catch (Exception *E) 
 {
   ShowMessage("Упс не создалась");
 }
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
04.09.2011, 16:44  [ТС]
а если так делаю, то выдает
Debug Output:
Invalid address specified to RtlSizeHeap( 002B0000, 014F6230 )

Process Project2.exe (22220)
0
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
07.09.2011, 01:14  [ТС]
Так как создать программно БД??
может кто подскажет хоть в каком направлении копать?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
07.09.2011, 09:51
От забора до заката.
А если серьезно, то идите-ка Вы в дворники. Всяко больше от Вас пользы будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2011, 09:51

запрос на удаление таблицы с помощью ADO
В чем ошибка? Хочу удалить таблицу из БД Access. Привожу код: form1.ADOCon.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;' + ...

Добавить данные с помощью DataCombo (ADO)
Нужно с помощью DataCombo не только выбирать из списка готовых значений, но и добавлять новые. Для этого нужно просто набрать новые данные...

Установка пароля на БД Access и её с помощью ADO
Подскажите плис, установил пароль на БД, не могу установить конект ADO контрола с этой базой данных. Выдает ошибку. Свойство Password е...

Проблема подключения к MySQL из VB6 с помощью ADO
цель: программа на ВБ подключиться в ИНете к базе данных для управления записями, таблицами и т.д В тренировочных целях установлен...

Как с помощью ADO получить объект Recordset?
Есть база в Access 2000, есть поле Мемо в ней, мне надо из Бейсика с помощью ADO получить объект Recordset с помощью строки? 'SELECT * FROM...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru