Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Доступ к данным через TDBGrid и TADODataSet


Автор: Leklerk 16.3.2012, 18:06
Добрый день! Я видел примеры, когда к данным в гриде обращаются так: 
Код

DBGrid1.DataSource.DataSet.FieldByName('sum').AsFloat

Сам же я использую 
Код

ADODataSet1.FieldByName('sum').Value

Это одно и то же?

Автор: vovk 16.3.2012, 18:20
Цитата(Leklerk @ 16.3.2012,  18:06)

Это одно и то же?

Если
DBGrid1.DataSource.DataSet = ADODataSet1
то да, одно и тоже

Автор: Данкинг 16.3.2012, 19:09
Цитата(Leklerk @  16.3.2012,  19:06 Найти цитируемый пост)
Это одно и то же? 

Да, только как ты делаешь - это более логично.

Автор: Vas 16.3.2012, 20:10
Цитата(Данкинг @  16.3.2012,  19:09 Найти цитируемый пост)
Да, только как ты делаешь - это более логично. 

Не всегда. Если гриду в рантайме могут назначаться разные наборы данных, то логичнее первый вариант.

Автор: Данкинг 16.3.2012, 21:50
Цитата(Vas @  16.3.2012,  21:10 Найти цитируемый пост)
Если гриду в рантайме могут назначаться разные наборы данных, то логичнее первый вариант. 

Если только так. Просто никогда такого не делал, т.е. не переназначал датасеты.

Автор: Akella 17.3.2012, 11:24
В принципе это одно и то же.
Разницу заметишь только тогда, когда ты прицепишь другой DataSet к DataSource.
Я имею ввиду, что может быть ошибка во время исполнения программы, если поля sum в датасете не окажется, или оно будет другого типа.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)