Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.07.2011, 16:44
AVOKADO AVOKADO вне форума
Прохожий
 
Регистрация: 06.07.2011
Сообщения: 4
Репутация: 10
По умолчанию БД+IniFile

У меня возникла такая проблема:
Имеется IniFile в котором записаны 2 базы данных, программа, которая с ними работает.
Я сделал так, чтобы под каждую БД в delphi был свой ADOQuary и ADOConnection. Но нужно сделать так, чтобы для них был один ADOQuary и ADOConnection, как мне сказали для этого надо воспользоваться ини файлом, но как это сделать????
Подскажите, напишите, пожалуйста!

Цитата:
var
i:integer;
st:string;
MyIni: TIniFile;
Dbs: TStringList;
IniFile: string;
begin
MyIni:=TInifile.Create(changefileext(paramstr(0),' .ini'));
Dbs:=TStringList.Create;
MyIni.ReadSectionValues('databases',Dbs);
for i:=0 to StringGrid1.RowCount-1 do
begin
st:=StringGrid1.Cells[1,i];
ADOQuery1.SQL.Clear;
ADOQuery1.Close;
//StringGrid1.
ADOQuery1.SQL.Add('select count(template_id) as f1 from os_eqm.devices where template_id <>0');
ADOQuery1.Open;
while (not ADOQuery1.EOF)do
begin
StringGrid1.Cells[1,1]:=ADOQuery1.Fields[0].AsString;
ADOQuery1.Next;
end;


ADOQuery1.SQL.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Add('select count(def_monitoring_type)from devices_active where nvl(def_monitoring_type,0) <> 0');
ADOQuery1.Open;
while (not ADOQuery1.EOF)do
begin
StringGrid1.Cells[2, 1]:=ADOQuery1.Fields[0].AsString;
ADOQuery1.Next;
end;


ADOQuery3.SQL.Clear;
ADOQuery3.Close;
ADOQuery3.SQL.Add('select count(def_monitoring_type)from devices_active where nvl(def_monitoring_type,0) <> 0');
ADOQuery3.Open;
while (not ADOQuery3.EOF)do
begin
StringGrid1.Cells[2,2]:=ADOQuery3.Fields[0].AsString;
ADOQuery3.Next;
end;


ADOQuery3.SQL.Clear;
ADOQuery3.Close;
ADOQuery3.SQL.Add('select count(template_id) as f1 from os_eqm.devices where template_id <>0');
ADOQuery3.Open;
while (not ADOQuery3.EOF)do
begin
StringGrid1.Cells[1,2]:=ADOQuery3.Fields[0].AsString;
ADOQuery3.Next;
end;

end;
end;

Последний раз редактировалось AVOKADO, 06.07.2011 в 17:02.
Ответить с цитированием
  #2  
Старый 06.07.2011, 17:10
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ох какой ужасный код...
Можно все это упихать в один класс, у которого будет проперти сам датасет.
А там можно эти классы будет криейтить хоть по легион штук и быть в нескольких БД.
Это мое предположение
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter