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

Вниз

Уважаемые! IBDataSet - как он работает?   Найти похожие ветки 

 
soni   (2002-10-09 15:27) [0]

Уважаемые Мастера, не сочтите за нелепость, но сложно разобраться с работой IBDataSet:
Есть
DeleteSQR: delete from MEASURE
where DATEMSR = :OLD_DATEMSR and
UIDEV = :OLD_UIDEV

SelectSQL: select * from MEASURE

InsertSQL: insert into MEASURE
(UIDEV, DATEMSR, VALUEMSR, RES, REGIM, TIMEMES)
values
(:UIDEV, :DATEMSR, :VALUEMSR, :RES, :REGIM, :TIMEMES)

ModifySQL: update MEASURE
set
VALUEMSR = :VALUEMSR,
RES = :RES,
REGIM = :REGIM,
TIMEMES = :TIMEMES
where
DATEMSR = :OLD_DATEMSR and
UIDEV = :OLD_UIDEV

И вот пытаюсь я изменить в цикле определенные записи и делаю по циклу IBDataSet.locate("DATEMSR;UIDEV",.....)
затем IBDataSet.Edit
и "в лоб" присваиваю новые значения (IBDataSetRES.value:=....)

Тогда зачем нужны все эти ModifySQL, DeleteSQL ?


 
Johnmen ©   (2002-10-09 15:42) [1]

Чтобы вносить изменения в реальную таблицу.

>и "в лоб" присваиваю новые значения (IBDataSetRES.value:=....)

значения полей набора данных, а не реальной табл.




 
soni   (2002-10-09 15:52) [2]

Извините, но не совсем понятно, т.е. я не могу используя эти самые ModifySQL исправлять данные например за определенную дату (по маске), а применимы они только если я, например, в DBGride "стою" на необходимой записи и пытаюсь ее редактировать?


 
User0 ©   (2002-10-09 15:59) [3]

Для этого достато4но IBTable...


 
Johnmen ©   (2002-10-09 16:03) [4]

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


 
soni   (2002-10-09 16:07) [5]

>>User0
По-началу так и было, но есть большое желание сделать прогу сетевой - это первый опыт, и потому решила перейти на запросы, но и здесь есть проблема - в этой самой табличке ( MEASURE ) порядка 300000 записей и при попытке сделать Locate к IBDataSet все "виснет" чуть-ли не через раз. Со связкой IBQuery+IBUpdateSQL ругалась на нередактируемость.


 
Max Zyuzin ©   (2002-10-09 16:15) [6]

>soni (09.10.02 15:27)
Дело в том, что когды вы делаете Edit, Insert на самом деле используюятся именно те SQL запросы что вы написали.

порядка 300000 записей и при попытке сделать Locate к IBDataSet
А зачем так жестоко? Вам нужно просматирвать все записи сразу (все 300000)
Можно например Select выбирать нужную вам запись... это будет быстрее


 
soni   (2002-10-09 16:44) [7]

> Johnmen Большое спасибо за разъяснения!!!
> Max Zyuzin - Большое спасибо за совет, само в голову не пришло - спасибо есть знающие!



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
3-101086
ttt
2002-10-03 14:14
2002.10.31
Кодировка paradox3.5 таблицы


1-101286
Шурик Ш
2002-10-22 13:03
2002.10.31
Доступ к общим ресурсам


7-101548
vvant
2002-08-28 16:02
2002.10.31
Как определить какое приложение в данный момент активно


1-101204
Slavok
2002-10-18 18:04
2002.10.31
Вы не подскажете алгоритм поиска слова в тексте...


3-101114
gepard
2002-10-08 20:35
2002.10.31
Не могу подконектится к Oracle