|
|
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
Существует ситуация: Некий рекордсет с данными Код: plaintext 1. 2. далее производим некую манипуляцию: Код: plaintext До того того момента пока не дашь метод rst.requery данные в рекордсете не обновляются. А если сделаешь обновление, то выборка заполняется с нуля (как я понимаю). Соб-но вопрос: А как сделать, чтобы обновлялись данные в рекордсете, только измененные, не перезапуская весь запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 17:08:52 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
а ты сначла сделай обновление, а потом запрос с условием по обновлению. зачем тебе открывать всю таблицу? (rst.Open "select * from alltovar", conn, adOpenKeyset, adLockOptimistic) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 17:24:50 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
ищзачем тебе открывать всю таблицу? Вот в том то и дело, что надо всю. Таблица - каталог (а-ля прайс) в котором есть признаки выбора товара и соответственно его количества. В общем структура по любому должна остаться неизменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 18:24:57 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
шурик777, чевота там напридумывал а мы ломай голову: зачем ты так сделал? хрен тебя знаит. шобы табе прально сказать, надоть знать всю идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 18:29:34 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
ищшобы табе прально сказать, надоть знать всю идею. Идея такая На форме 2 грида 1 - грид (AllTovar товар из БД; колонки - checkInsert, name, code, price, zakaz, prim) ~ 200000 записей 2 - грид (свободный - туда попадают любые результаты отбора) к первому гриду привязан рекордсет (см. сабж), на грид установлены свойства запрета прямого редактирования. На форме есть кнопочка (загрузка) -> по клику - событие -> 1. Обновление всех полей checkInsert->false (см. сабж) 2. Загрузка во второй грид данных 3. Поиск и обновление в таблице AllTovar соответствия по Code поля checkInsert->true поскольку все изменения происходят напрямую в таблице Alltovar, у меня в гриде никаких изменений не происходит :-( так вот и сам вопрос: До того того момента пока не дашь метод rst.requery данные в рекордсете не обновляются. А если сделаешь обновление, то выборка заполняется с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 20:11:18 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
200000 записей в гриде? ИМХО - надо что-то менть в самом понимании о программировании Человек не сможет реально работать даже со 100 записями одновременно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 08:50:58 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
автор так вот и сам вопрос: До того того момента пока не дашь метод rst.requery данные в рекордсете не обновляются. А если сделаешь обновление, то выборка заполняется с нуля попробуй 1 добавить штамп времени в таблицу 2 делаешь запрос к таблице к значениям ид и штампа времени 3 сравниваешь эти значения с текущими в рекордсете грида 4 те которые не совпадают - делаешь Resync может можно и проще но в голову приходит только это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 09:35:43 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
adOpenKeyset поменяй на adOpenDynamic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 09:44:57 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
авторadOpenKeyset поменяй на adOpenDynamic и чем это поможет? при Requery будут подтягиваться только измененные извне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 09:47:59 |
|
||
|
Динамическое обновление данных в recordset
|
|||
|---|---|---|---|
|
#18+
АлексейК[quot автор] попробуй ... 3 сравниваешь эти значения с текущими в рекордсете грида 4 те которые не совпадают - делаешь Resync Идея хорошая, но ... В гриде одновременно отображаются порядка 30~40 записей (от размера окна зависит), а в методе .Resync есть только один подходящий параметр -adAffectCurrent (обновлять только текущую запись), теперь наша ситуация: Код: plaintext 1. 2. 3. 4. 5. 6. займет хороший промежуток времени при обновлении (скроле, развороте экрана и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 11:52:21 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32600394&tid=1673248]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 309ms |

| 0 / 0 |
