Главная страница
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.012 c
3-101123
NG
2002-10-10 10:41
2002.10.31
Мастера, помогите


3-101098
Hlor
2002-10-09 15:40
2002.10.31
Доброго времени суток! Есть вопрос... Как осуществить


1-101287
Ukraine
2002-10-22 16:38
2002.10.31
TShape & TLabel


1-101187
bobr12
2002-10-21 11:02
2002.10.31
Есть ли в Delphi функция для решения уравнений?


1-101297
Romych
2002-10-18 19:30
2002.10.31
StringGrid