Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Переключение датасетов   Найти похожие ветки 

 
Крапивин Олег   (2010-05-18 12:08) [0]

Здравствуйте господа. Есть код

  if CurrentDataSet="ADOQuery2" then
     begin
       Form1.ADOQuery1.Close;
       Form1.ADOQuery1.DataSource.DataSet:=
          Form1.ADOQuery2.DataSource.DataSet;
       Form1.ADOQuery1.Open;
     end;

При попытке такого присвоения возникает исключение. Объясните плиз почему? (CurrentDataSet - строка)


 
Ega23 ©   (2010-05-18 12:10) [1]

Какое исключение?
З.Ы. Код ужасен.


 
Чак Норрис   (2010-05-18 12:16) [2]

Удалено модератором


 
Крапивин Олег   (2010-05-18 12:22) [3]

А вот такое присвоение работает:

Form1.ADOQuery1.DataSource:=
                                         Form1.ADOQuery2.DataSource;

Датасеты один левый, другой зеленый. Так что ли?


 
Медвежонок Пятачок ©   (2010-05-18 12:26) [4]

Один есть, второй nil


 
Крапивин Олег   (2010-05-18 12:33) [5]

Спасибо Медвежонок. Прошляпил. А как в таком случае поступить? Как-то подсунуть указатель первому датасету второго?


 
Медвежонок Пятачок ©   (2010-05-18 12:42) [6]

подсунуть-то можно.
главное его иметь


 
Крапивин Олег   (2010-05-18 13:12) [7]

Задача простая. Работаю с двумя таблицами одинаковой структуры, но в разных файлах, рабочем и архивном. Пользователь может загрузить новые данные в рабочую базу и вывести данные в чарт, а может взять их из архива.
Поэтому активен то один Квери то другой. Мне нужно взять данные в архив, вопрос только в переключении датасетов. Не писать же дважды кусок кода.
Подскажите пожалуйста как это сделать.
Конструкция

Form1.ADOQuery1.Datasourse:=@Form1.ADOQuery1.Datasourse
тоже ничего не дает :((


 
12 ©   (2010-05-18 13:24) [8]

MQ := nil;
if ADOQuery1.Active then MQ:=ADOQuery1;
if ADOQuery2.Active then MQ:=ADOQuery2;
if MQ <> nil then MQ.open;


 
Sergey13 ©   (2010-05-18 13:32) [9]

> [7] Крапивин Олег   (18.05.10 13:12)
> Задача простая. Работаю с двумя таблицами одинаковой структуры,
> но в разных файлах, рабочем и архивном.

А я тебя помнится предупреждал. 8-)


 
icWasya ©   (2010-05-18 13:32) [10]

А может не Form1.ADOQuery1.Datasourse а Form1.DBGrig1.Datasourse ?


 
Медвежонок Пятачок ©   (2010-05-18 13:36) [11]

Не писать же дважды кусок кода.

Для этого придумали структурное программирование.
Процедуры и функции там всякие с параметрами.


 
Плохиш ©   (2010-05-18 13:45) [12]

Легче убить чем прокормить.


 
Крапивин Олег   (2010-05-18 14:02) [13]

СПАСИБО!!!


 
Крапивин Олег   (2010-05-18 14:06) [14]


> А я тебя помнится предупреждал. 8-)

Во входном потоке данных примерно 78 000 х 8 записей. Их легче обработать локально, а архив будем хранить в сети. Поэтому желательно отделять мух от котлет ;))


 
Оливин Крапег   (2010-05-18 14:46) [15]

Их легче обработать локально

Ага. Но предварительно перекачав на локальный диск чтобы они стали локальными


 
Sergey13 ©   (2010-05-18 14:46) [16]

> [14] Крапивин Олег   (18.05.10 14:06)
> Во входном потоке данных примерно 78 000 х 8 записей

Что это за числа? Это выше Эйфелевой башни?


 
Крапивин Олег   (2010-05-18 15:02) [17]


> Что это за числа? Это выше Эйфелевой башни?

Климат проклятый. Сколько здесь уже было трепотни по этому поводу!
В одной из моих веток есть ссылка на файлообменник. Там архив за месяц, но весит несколько метров, не советую скачивать :)
15.03.2010 5:44 -243,2507019
16.03.2010 13:35 -243,2507019
17.03.2010 5:56 -243,2507019
10.03.2010 14:36 12,79110622
10.03.2010 14:36 12,79230499
10.03.2010 14:35 12,79270363
10.03.2010 14:35 12,80388832
10.03.2010 14:35 12,80548573
Кстати отрицательные температуры обнаружил только когда выложил данные в чарт. Я охренел! Эйфелева башня поменьше будет :)


 
RWolf ©   (2010-05-18 15:06) [18]

Определённо кто-то периодически купает датчик температуры в жидком водороде.


 
Крапивин Олег   (2010-05-18 15:18) [19]


> Определённо кто-то периодически купает датчик температуры
> в жидком водороде.

Именно! :) Кстати сейчас ради любопытства разделил длину ОДНОГО файла 5,8 М на длину записи 30. Получил порядка 190 000 записей, а после обработки получаю прим. 3 300 на один файл из восьми.


 
Sergey13 ©   (2010-05-18 15:54) [20]

> [17] Крапивин Олег   (18.05.10 15:02)

Так что за числа то "78 000 х 8 записей"? Это много или мало?

> не советую скачивать
мог бы и не советовать. 8-)

> 15.03.2010 5:44 -243,2507019

Выкинь просто эту строку да и все. Ввиду ЯВНОЙ ошибочности.

> Там архив за месяц, но весит несколько метров
Это детский объем. Или ты с дискетами работаешь?


 
Крапивин Олег   (2010-05-18 16:08) [21]


> Это детский объем.

Пожалуй. Я прикинул, что после обработки данные за десять лет не превысят объема двд-диска, но при огромном числе записей таблицы не информативны. Задание было привести даннные к 12-минутному диапазону, а когда повесил чарт, стало очевидным, что 6-часового интервала вполне достаточно (точнее интервал меньше, но я вижу 6-тичасовые метки через 3-4 см). А далее начальство хочет имея графики климата в конце года наложить на них график урожайности и смотреть что и как влияет на продуктивность. Научная работа, блин!


 
Sergey13 ©   (2010-05-18 16:11) [22]

> [21] Крапивин Олег   (18.05.10 16:08)
> но при огромном числе записей таблицы не информативны

Обоснуй.


 
Крапивин Олег   (2010-05-18 16:37) [23]


> > но при огромном числе записей таблицы не информативны
>
> Обоснуй.

Вот обоснование. Реальная картинка температуры за март-месяц
http://narod.ru/disk/20602118000/ArcDB.zip.html


 
Крапивин Олег   (2010-05-18 16:40) [24]

Черт, не та ссылка! Вот
http://narod.ru/disk/20879781000/graphic.zip.html


 
Sergey13 ©   (2010-05-18 17:15) [25]

> [24] Крапивин Олег   (18.05.10 16:40)

Не буду я всякую шнягу качать. И некогда и лень. Ты словами обоснуй, почему таблица с лимоном записей менее информативна чем с сотней?


 
Плохиш ©   (2010-05-18 19:28) [26]


> А далее начальство хочет имея графики климата в конце года
> наложить на них график урожайности и смотреть что и как
> влияет на продуктивность. Научная работа, блин!

Т.е. уволят его не раньше сбора урожая :-(


 
Медвежонок Пятачок ©   (2010-05-18 19:39) [27]

но при огромном числе записей таблицы не информативны

Обоснуй.


Чего там обосновывать.
Наверняка фантазия не ушла дальше грида с select * from very_big_table

вот и вся информативность


 
Медвежонок Пятачок ©   (2010-05-18 19:50) [28]

... точнее фантазия не ушла дальше построения графика по всей таблице.

никакого выбора юзеру не оставлено.
либо все, либо ничего


 
Игорь Шевченко ©   (2010-05-18 23:21) [29]

Плохиш ©   (18.05.10 13:45) [12]

Я тоже за гуманный подход



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.154 c
2-1275239628
Б
2010-05-30 21:13
2010.08.27
Редактор блок-схем.


9-1181152411
CMOS
2007-06-06 21:53
2010.08.27
Новый Asphyre 4.0


3-1238243754
Ivan8511
2009-03-28 15:35
2010.08.27
Индексация даты в обратном порядке


15-1275550373
12
2010-06-03 11:32
2010.08.27
pascal.Напомните, пожалуйста, как там возвращать значение функции


15-1271696488
sniknik
2010-04-19 21:01
2010.08.27
Кодировки в RSS.