Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533

Компоненты ADO

01.03.2013, 11:39. Показов 3563. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята,помогите разобраться.
Использую Adoconnection - в нем указывается DefaultDatabase. Возможно мне как то перейти из текущей бд в другую?
Клиент СУБД это осуществляется так
SQL
1
2
USE имя_бд
GO
Просто мне нужно использовать компонент ADOStoredProc динамически как-то...а то он получается постоянно привязан к базе данных которая по умолчанию.(которая собственно указана в ADOConnection)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2013, 11:39
Ответы с готовыми решениями:

Компоненты ADO
Скиньте пожалуйста учебник или ссылки,где можно подробно рассмотреть компоненты ADO,а главное методы,события,их описание!!!

Альтернативные компоненты для работы с ADO
По иронии судьбы начальство дозволило работать на Builder 10.2 Tokyo Starter. В этой заразе напрочь отсутствуют компоненты для работы с ADO...

компоненты ADO в делфи 7!
парни помогите не могу до петрить как привезать к бд эти компоненты вот что у мя получилось исправте есле что не так или подскажите что...

12
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
01.03.2013, 12:43
Цитата Сообщение от Oxotnuk Посмотреть сообщение
Использую Adoconnection - в нем указывается DefaultDatabase. Возможно мне как то перейти из текущей бд в другую?
А ты не пробывал в ADOConnection переподключить путь?
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
01.03.2013, 13:41  [ТС]
Sasha, Мне на лету это нужно делать,причем не разрывая сессии.

Добавлено через 51 минуту
Я придумал конечно,только не совсем пойму,как реализовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::ComboBox1DropDown(TObject *Sender)
{
ComboBox1->Items->Clear();
try{
 ADOQuery1->SQL->Clear();
 ADOQuery1->SQL->Add("SELECT name  FROM sysdatabases");
 ADOQuery1->Open();
 ADOQuery1->First();
  while(!ADOQuery1->Eof)
 {
  ComboBox1->Items->Add(ADOQuery1->FieldByName("name")->AsString);
  ADOQuery1->Next();
 }
   }catch(...){}
}
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::ComboBox1Change(TObject *Sender){
{
if(!ComboBox1->Text.IsEmpty())
   {
    ADOConnection1->DefaultDatabase=ComboBox1->Items[ComboBox1->ItemIndex].ToString();
   }
}
 
}
Просто если я сменю бд, один раз,последующий раз я не смогу изменить,потому что я уже уйду из системной бд и у меня уже не будет таблички sysdatabases.
ADOConnection1 DefaultDatabase - master первый раз с таким параметром все ок меняется.
Так собственно вопрос,как мне хранить и использовать данные первого запроса, в переменной или еще как то?
Было бы не плохо с примером)
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
01.03.2013, 15:55
Конкретней бы задачу написал. А кто мешает создать новый TADOConnection?
Цитата Сообщение от Oxotnuk Посмотреть сообщение
:ComboBox1DropDown(TObject *Sender)
сюда вешать наполение ComboBox для чего?
Цитата Сообщение от Oxotnuk Посмотреть сообщение
ComboBox1Change(TObject *Sender)
каждый раз будет перезаписываться как только поменяешь.
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
01.03.2013, 16:14  [ТС]
Задача,переходить по базам данных,и делать какие то запросы. выполнять хранимые процедуры,которые находиться только в этой бд.
C++
1
ComboBox1DropDown(TObject *Sender)
Для меня это саммный наглядный способ,определить в какой ты сейчас БД,и перейти куда либо.
C++
1
ComboBox1Change(TObject *Sender)
что перезаписываться? я таким не хитрым образом меняю,дефолт бд на нужную мне.
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
01.03.2013, 16:27
Цитата Сообщение от Oxotnuk Посмотреть сообщение
Просто если я сменю бд, один раз,последующий раз я не смогу изменить,потому что я уже уйду из системной бд и у меня уже не будет таблички sysdatabases.
конечно если повешал
Цитата Сообщение от Oxotnuk Посмотреть сообщение
ComboBox1->Items->Clear();
try{
*ADOQuery1->SQL->Clear();
*ADOQuery1->SQL->Add("SELECT name *FROM sysdatabases");
*ADOQuery1->Open();
*ADOQuery1->First();
* while(!ADOQuery1->Eof)
*{
* ComboBox1->Items->Add(ADOQuery1->FieldByName("name")->AsString);
* ADOQuery1->Next();
делай это при создании формы один раз. Я так понял это список БД?!
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
01.03.2013, 16:30  [ТС]
Угу,окей,а зачем? зачем?ну логику объясни зачем на создание формы?
А если удалится БД,а если создастся БД после создания формы?
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
01.03.2013, 16:36
Цитата Сообщение от Oxotnuk Посмотреть сообщение
Задача,переходить по базам данных,и делать какие то запросы. выполнять хранимые процедуры,которые находиться только в этой бд
про удаление и создание здесь не сказано!
Цитата Сообщение от Oxotnuk Посмотреть сообщение
А если удалится БД,а если создастся БД после создания формы?
какая именно? главная где таблица sysdatabases?!
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
01.03.2013, 16:42  [ТС]
SQL
1
2
3
CREATE DATABASE pubs
    ON datadev='3g'
    log ON logdev='0.5g'
Делаешь это после чего она появляется в базе данных master табличке sysdatabases

даже если делать выборку select name from master..sysdatabases (master..sysdatabases - такое обращение делает выборку из любого места, в какой бы вы базе не находились, всеравно оне не работает,аксесс ваалатион. )
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
01.03.2013, 16:55
Не берусь утверждать на счет SQL, поговорим о таблице. таблица должна содержать параметры подключения к БД необходимых TADOConnection как минимум путь до базы, пользователь и пароль. С этими параметрами создаешь новый TADOConnection (либо если есть второй то пихаешь их туда). Коннектишся 2-м ADOConnection к БД и 1 у тебя остается открытым (с твоей таблицей sysdatabases). Перезаполняешь Combo при удалении или добавлении БД.
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
01.03.2013, 18:28  [ТС]
Драсте,приехали...всеравно не работает,нужно другой подходит придумать,как переключаться между базами данных, люди,хелп ми!!!!
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
02.03.2013, 13:56
А что не работает-то?

Добавлено через 32 секунды
Выложи код...
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
05.03.2013, 12:43  [ТС]
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
28
29
30
31
32
33
34
35
36
void __fastcall TForm1::ComboBox1DropDown(TObject *Sender)
{
ComboBox1->Items->Clear();
try{
 ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("use master");
 ADOQuery1->SQL->Add("SELECT name  FROM master..sysdatabases");
 
 ADOQuery1->Open();
 ADOQuery1->First();
  while(!ADOQuery1->Eof)
 {
  ComboBox1->Items->Add(ADOQuery1->FieldByName("name")->AsString);
  ADOQuery1->Next();
 }
   }catch(...){}
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
{
if(!ComboBox1->Text.IsEmpty())
   {
   ADOQuery1->SQL->Clear() ;
ADOQuery1->SQL->Add(" USE ");
ADOQuery1->SQL->Add(ComboBox1->Text);
ADOQuery1->ExecSQL();
 
 
      Label1->Caption =  ComboBox1->Text;
 
   }
 
}}
Вообщем вот,кому нужен код перехода по БД в sybase/ ms sql держите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2013, 12:43
Помогаю со студенческими работами здесь

ADO компоненты, заполнение таблицы
Здравствуйте, возникло затруднение с ADO компонентами, в частности с запросами к sql. Само подключение базы прошло успешно, теперь появился...

Не могу найти компоненты ADO
Скачала делфи, установила, а компонентов ADO нет. Что делать? Может быть они где-то спрятаны?

Приложение, использующее ado-компоненты, не запускается
приложение, используещие ado-компоненты (adoconnection и adotable, БД - msSQL) не запускается на других компьютерах(запускается только на...

Работа с firebird используя компоненты ADO
До сегодняшнего момента работал в делфи с firebird используя interbase. Теперь для связи с базой необходимо использовать компоненты ADO....

ADO+MS SQL: как узнать количество обработанных строк при insert в ADO Query?
Добрый день. При выполнении запроса в MS SQL insert into ..(,,) select 0,20,'Text' where not exists (select 1 from .. where...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru