Главная страница
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.05 c
2-1329483465
vasa
2012-02-17 16:57
2013.03.22
xml


15-1339690335
alexdn
2012-06-14 20:12
2013.03.22
asp.net


2-1344328033
Pcrepair
2012-08-07 12:27
2013.03.22
Чем лучше заменить TidHTTP Indy 10?


2-1339183336
простофан
2012-06-08 23:22
2013.03.22
rewrite


15-1336422605
Юрий
2012-05-08 00:30
2013.03.22
С днем рождения ! 8 мая 2012 вторник