Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.053 c
1-1268122509
Сергей М.
2010-03-09 11:15
2013.03.22
AV при использовании юнита Variants


2-1330529339
AndreyPl
2012-02-29 19:28
2013.03.22
XML файла нечувствительным к регистру тегов и атрибутов


2-1340983618
AntonMos
2012-06-29 19:26
2013.03.22
фильтр DBGRIDEH


3-1280406421
Alekcey
2010-07-29 16:27
2013.03.22
raised exception ... in module IDODBC32.DLL


1-1300622372
Gu
2011-03-20 14:59
2013.03.22
Ресурсы x64 Dll




   Наверх