Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создать RecordSet  без Connection... [D5, D7]


manumba ©   (2003-04-04 13:27:00) 

Нужно создать ReocrdSet и заполнить его данными из проги (без подключения к БД).

Откуда проблема появилась:
есть СОM-обьект, который возвращает данные через _RecordSet (ADO). Есть много клиентов, которые получают этот РекордСет (клиенты написаны на разных языках)...
Теперь нужно убрать БД и передавать данные таким же способом (чтобы не изменять клиенты), но без БД (данные - это маленький словарик).....для этого нужно заполнить RecordSet программно...Это вообще реально?


Dok_3D   (2003-04-04 21:20:00) [1]

2 manumba
Нет, TADODataSet.CreateDataSet не работает без Connection (TADOConnection)...а у мне нужно без него работать.

Вай вай, manumba, как вы ошибаетесь, прекрасно все работает без ADOConnection. А у ADODataSet есть свойство _Recordset, можно работать напрямую прямо с ним.
Но совет Polevi, безусловно, лучше...


manumba   (2003-04-04 17:30:00) [2]

Polevi: Огромный сенкс!! ( вот посмотришь на чужой код, все так легко и просто...:)) )


Polevi   (2003-04-04 16:46:00) [3]

procedure TForm1.FormCreate(Sender: TObject);
var
rs:OleVariant;
begin
rs:=CreateOleObject("ADODB.Recordset");
rs.Fields.Append("ID",adInteger,4);
rs.Fields.Append("Name",adVarChar,20);
rs.Open;

rs.AddNew;
rs.Fields["ID"].Value:=1;
rs.Fields["Name"].Value:="Test1";

rs.AddNew;
rs.Fields["ID"].Value:=2;
rs.Fields["Name"].Value:="Test2";

ADODS.Recordset:=IUnknown(rs) as _Recordset;
end;


PS
ADODS - это TADODataset c не заданым Connection


manumba   (2003-04-04 15:57:00) [4]

ClientDataSet может возвращать данные так, чтобы их могли читать с других языках программирования ? (т.е. через _RecordSet). А про ADODataset с самого начала я не говорил...просто с ним легче работать, чем напрямую через интерфейс _RecordSet...


sniknik   (2003-04-04 15:03:00) [5]

а ClientDataSet нельзя использовать? почму именно ADODataSet?


manumba   (2003-04-04 14:46:00) [6]

Нет, TADODataSet.CreateDataSet не работает без Connection (TADOConnection)...а у мне нужно без него работать.


stone   (2003-04-04 13:30:00) [7]

Если я правильно понял, то нужно
TADODataSet.CreateDataSet;


Наверх

Титульная страница Поиск, карта сайта Написать письмо