Главная страница
    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.46 MB
Время: 0.058 c
2-1330501412
AV
2012-02-29 11:43
2013.03.22
Заменяя ProcessMessages


2-1343559977
Дмитрий
2012-07-29 15:06
2013.03.22
Логика сравнения


15-1349867018
stas
2012-10-10 15:03
2013.03.22
Изменить charset


2-1334682069
SiDimka
2012-04-17 21:01
2013.03.22
DBGrid > TreeView > DBGrid


15-1330531768
Димка На
2012-02-29 20:09
2013.03.22
Gaussian blur





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский