Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Доступ к данным через TDBGrid и TADODataSet   Найти похожие ветки 

 
leklerk ©   (2012-03-16 19:11) [0]

Добрый день! Я видел примеры, когда к данным в гриде обращаются так:
DBGrid1.DataSource.DataSet.FieldByName("sum").AsFloat.
Сам же я использую
ADODataSet1.FieldByName("sum").Value.
Это одно и то же?


 
CRLF   (2012-03-16 19:28) [1]

Лучше используй ADODataSet1sum.AsFloat


> Это одно и то же?
И да, и нет. It depends.


 
leklerk ©   (2012-03-16 19:35) [2]


> И да, и нет. It depends.
>
>

И от чего же оно depends?


 
Inovet ©   (2012-03-16 19:45) [3]

> [2] leklerk ©   (16.03.12 19:35)
> И от чего же оно depends?

Например, сейчас у тебя назначен ADODataSet1, а через минуту ADODataSet2. Или заранее ты не ничего не знаешь о ADODataSet и требуется найти. Ну и кроме того первое несколько дольше.


 
CRLF   (2012-03-16 19:49) [4]

От того, что ты подразумеваешь под "одно и то же". Первое выражение даёт значение типа Double, второе -- типа Variant. Если ADODataSet1.FieldByName("sum").Value = Null, то var D: Double; D := ADODataSet1.FieldByName("sum").Value приведёт к возбуждению исключения. D := ADODataSet1.FieldByName("sum").AsFloat даст 0.

Обращаясь к ADODataSet1 ты можешь пользоваться свойствами и методами TAdoDataSet, обращаясь к DBGrid1.DataSource.DataSet -- только к методам и свойствам TDataSet.

Обращаясь к DBGrid1.DataSource.DataSet неплохо бы проверять Assigned(DBGrid.DataSource) and Assigned(DBGrid.DataSource.DataSet) -- во избежание.


 
Мдя   (2012-03-16 21:14) [5]

http://www.sql.ru/forum/actualthread.aspx?tid=927024


 
Inovet ©   (2012-03-16 21:31) [6]

> [4] CRLF   (16.03.12 19:49)

AsFloat я и не заметил, ну да по контексту вопрос о другом был.


 
CRLF   (2012-03-16 22:38) [7]


> AsFloat я и не заметил, ну да по контексту вопрос о другом
> был.
А я не с тобой разговаривал. :-) Просто пока я писал ответ на [2], ответил ты.


 
sniknik ©   (2012-03-16 22:53) [8]

> обращаясь к DBGrid1.DataSource.DataSet -- только к методам и свойствам TDataSet.
при уверенности использования ADODataSet-а привидение типа -
TADODataSet(DBGrid1.DataSource.DataSet)
позволит все.


 
CRLF   (2012-03-16 23:04) [9]

шо ви такое в "начинающих" советуете... полную уверенность может дать только страховой полис. и оператор is...



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.082 c
2-1338620541
novichek
2012-06-02 11:02
2013.03.22
FireMonkey - Binding


15-1350390543
AV
2012-10-16 16:29
2013.03.22
Узнать свой пароль в текущей сессии oracle


11-1243804218
igg
2009-06-01 01:10
2013.03.22
Меню под WinCE - это баг?


15-1336765355
Rouse_
2012-05-11 23:42
2013.03.22
Схемы защиты ПО


15-1331316742
Artem
2012-03-09 22:12
2013.03.22
Windows 7 Семейная