Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как скопировать RecordSet целиком? / 7 сообщений из 7, страница 1 из 1
01.08.2006, 14:39
    #33892067
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
Добрый день!

Загнал таблицу в рекордсет. Пошагово его просматриваю.
При совпадении определенного условия нужно скопировать тукущую запись (со всеми полями) в другой рекордсет.

Как одной командой копировать тек. РС в другой РС?

Спасибо
...
Рейтинг: 0 / 0
01.08.2006, 15:28
    #33892296
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
Вероятно, rs.AddNew.
...
Рейтинг: 0 / 0
02.08.2006, 11:00
    #33893834
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
А может проще одним запросом? update tbl1 set fld1 = tbl2.fld2 from tbl2 where ...
...
Рейтинг: 0 / 0
02.08.2006, 11:17
    #33893897
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
Естественно, проще. Но мы же не знаем, какие у Molasar-а задачи.
...
Рейтинг: 0 / 0
02.08.2006, 11:53
    #33894059
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
А вам не подойдет клон рекордсета?
С фильтром по этому определенному условию.
...
Рейтинг: 0 / 0
03.08.2006, 03:44
    #33896035
blinow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
По поводу клона, может я , что-то не так делал но клон получался всегда только как ссылка на рекордсет, т.е. изменения в рекордсете отражались в клоне и наоборот
...
Рейтинг: 0 / 0
03.08.2006, 04:11
    #33896047
blinow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать RecordSet целиком?
Если rst такой же то просто в цикле

For i=0 To rstI.Fields.Count-1
rstC.Fields(i).Value=rstI.Fields(i).Value
Next i

Собственно и все, но лучше такие вещи выполнять запросом.

Если Вам нужна просто копия, ну мало ли зачем.

Откройте rstC без соединения.

Dim rstI as New ADODB.Recordset
Dim rstC as New ADODB.Recordset

rstI.Open "Select...",conn, ... , ...

For i = 0 To rstI.Fields.Count-1
rstC.Fields.Append rstI.Fields(i).Name, rstI.Fields(i).Type, rstI.Fields(i).DefinedSize
Next i

rstC.Open
rstC.AddNew

For i=0 To rstI.Fields.Count-1
rstC.Fields(i).Value=rstI.Fields(i).Value
Next i
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как скопировать RecordSet целиком? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]