|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Имеется класс источник данных: в модуле класса: _______________________________________________________________________________ Private mrsCustomer As ADODB.Recordset Private Sub Class_Initialize() Set mcn = New ADODB.Connection mcn.ConnectionString = "DSN=JetDataBase" mcn.Open Set mrsCustomer = New ADODB.Recordset mrsCustomer.Source = "select * from tblCustomer" mrsCustomer.ActiveConnection = mcn mrsCustomer.Open End Sub _______________________________________________________________________________ Вопрос: Как обновить записи в recordset'е (в смысле сделать повторный запрос базы данных) не закрывая recordset? Есть ли какой метод в ADODB.Recordset на повторный запрос данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 16:48 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Recordset.Requery ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 16:59 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Не, непойдёт Recordset.Requery. У меня с текущим Recordset'ом DataGrid связан, так она (DataGrid) после такого не работает с обновлённым Recordset'ом (онже фактически сначала Close, а затем Open). Попробовал Recordset.Resync (он, вроде, не перестраивает таблицу Recordset'та, а обновляет текущую) так ошибки начала писать "Не достаточто сведений ключевого поля для обновления" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 17:41 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
После Requery надо заново биндить рекордсет к гриду, стандартная операция и никуда от нее не деться. Magnus ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2003, 20:56 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Resync казалось бы хороший выход, но пока мне кажется глюченый. От ошибки "Не достаточто сведений ключевого поля для обновления" можно избавиться создав любым способом уникальное поле в таблицах участвующих в запросе. Если таблица одна или две, то работает нормально, больше обновляютс я не все поля запроса. Но я пользую GRIDEX 2000, в нём есть метод обновления grid'а перечитывая данные с Recordset'а. Как в стандартном grid'е не знаю. Сейчас обкапываю Resync со всех строн. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2003, 08:24 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Да. блин, приходится заново чалить Recordset к таблице. Плохо что Resync глючит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2003, 14:26 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
На самом деле Resync не глюзит, просто у это пакетное обнолевление, при котором надо учитывать и другие параметры обновления через Resync. Я делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 18:38 |
|
Как обновить записи в recordset'е?
|
|||
---|---|---|---|
#18+
Да, глючит - термин ошибочный. Скорее тупит. Всё работает как максимум для двух связанных таблиц. Дальше либо обновляется одно поле в запросе, вернее обновляются все, но по старым значениям ключевых полей. А если Recordset построен на сохр.проц., то получить ничего толкового так и не удалось. Не претендую на абсолютную истину. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 08:13 |
|
|
start [/forum/search_topic.php?author=ADpublisher&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 715ms |
total: | 879ms |
0 / 0 |