powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Данные из ADODB._Recordset -> TRxMemoryData
3 сообщений из 3, страница 1 из 1
Данные из ADODB._Recordset -> TRxMemoryData
    #39870717
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа
Необходимо перегнать данные из ADODB._Recordset -> TRxMemoryData
Ранее при работе с ADOQuery использовал компактный набор команд

Код: pascal
1.
2.
3.
    mdMark.Close;
    mdMark.FieldDefs:=ADOQuery.FieldDefList.DataSet.FieldDefs;
    mdMark.LoadFromDataSet(ADOQuery,0,lmAppend);



Теперь тип источника изменился , стал ADODB._Recordset
Использовать циклический перебор полей и записей громоздко (там еще
надо приводить константы типов TOleEnum к TFieldType)

Может есть более корректный и лаконичный прием

Спасибо
...
Рейтинг: 0 / 0
Данные из ADODB._Recordset -> TRxMemoryData
    #39871088
Hammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure RecordsetToRxMemoryData(src: _Recordset; dst: TRxMemoryData);
var
q : TADOQuery;
begin
 q := TADOQuery.Create(nil);
 try
   q.Recordset := src;
   dst.Close;
   dst.FieldDefs:=q.FieldDefList.DataSet.FieldDefs;
   dst.LoadFromDataSet(q,0,lmAppend);
 finally
   FreeAndnil(q);
 end;
end;



PS: Писалось "на коленке"
...
Рейтинг: 0 / 0
Данные из ADODB._Recordset -> TRxMemoryData
    #39872023
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HammerHOME_X,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure RecordsetToRxMemoryData(src: _Recordset; dst: TRxMemoryData);
var
q : TADOQuery;
begin
 q := TADOQuery.Create(nil);
 try
   q.Recordset := src;
   dst.Close;
   dst.FieldDefs:=q.FieldDefList.DataSet.FieldDefs;
   dst.LoadFromDataSet(q,0,lmAppend);
 finally
   FreeAndnil(q);
 end;
end;



PS: Писалось "на коленке"


Спасибо ... аналогично
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
    asMark:=TADODataSet.Create(Nil);
    asMark.Recordset:=_Recordset(IDispatch(ovRecordSet));
    asMark.First;
    mdMark.Close;
    mdMark.FieldDefs:=asMark.FieldDefs;
    mdMark.LoadFromDataSet(asMark,0,lmAppend);
    asMark.Close;
    asMark.Free;
    asMark:=Nil;



P.S. не думал что объект имеет обратную связь
Предполагал сначала поля - потом данные, здесь дал RecordSet сформировался ВЕСЬ пакет

Еще раз спасибо
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Данные из ADODB._Recordset -> TRxMemoryData
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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