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

Компоненты ADO

01.03.2013, 11:39. Показов 3550. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru