Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизДоступ к полям - Как быстрее? Найти похожие ветки
← →
AlexanderSK (2003-03-25 16:15) [0]Как лучше работать с полями?
FieldByName или X := FindField и дальше работаем через X?
Заранее спасибо!
← →
Johnmen (2003-03-25 16:19) [1]Создать список поле для НД и далее -
MySecretField.As...:=...
самое быстрое, но не самое понятное и красивое...
← →
passm (2003-03-25 16:19) [2]AlexanderSK © (25.03.03 16:15)> Если поля создавать явно в Design Time
← →
AlexanderSK (2003-03-25 16:31) [3]>passm ©
Поля получаются путем загрузки данных.
>Johnmen ©
Т.е. второй вариант?
← →
Соловьев (2003-03-25 16:34) [4]не 2-й, а просто в дизайне дважды кликаешь на компоненте.
← →
AlexanderSK (2003-03-25 16:42) [5]>Соловьев ©
Нет у меня дизайна! Точнее в дизайне не известно какие будут поля!
← →
Johnmen (2003-03-25 16:46) [6]По моему мнению, не надо заморачиваться на быстродействие, ты его не почувствуешь, и обращаться к полям FieldByName("MyFieldName") и к значениям полей FieldByName("MyFieldName").As...
← →
passm (2003-03-25 16:55) [7]AlexanderSK © (25.03.03 16:42)>
procedure DoNothing(DataSet: TDataSet); { :)) }
var
f1, f2: TField;
begin
{...}
f1:= DataSet.FieldByName("FIELD1");
f2:= DataSet.FieldByName("FIELD2");
{ use f1 and f2}
end;
← →
les (2003-03-25 17:16) [8]
> Доступ к полям - Как быстрее?
DataSet<поле>.As...
> Нет у меня дизайна!
Тогда бистрее - TDataSet.Fields[index].As...
← →
MsGuns (2003-03-25 19:14) [9]>passm © (25.03.03 16:55)
И что, так будет быстрее ? В смысле затрат Проц-Память.
Сильно сомневаюсь, хоть компиллятор и оптимизирующий.
← →
Val (2003-03-25 19:48) [10]>MsGuns © (25.03.03 19:14)
по идее быстрее, но нафиг. Cм. Johnmen © (25.03.03 16:46)
>les © (25.03.03 17:16)
ускользнет контроль над полями, лучше конкретизировать.
← →
MsGuns (2003-03-25 20:12) [11]>Val © (25.03.03 19:48)
>по идее быстрее, но нафиг
Быстрее в смысле, что не надо просматривать всю коллекцию на предмет совпадения св-ва "Имя поля" ? А вот если по индексу (Fields[i]), так шустрее ? Чушь собачья, извини за резкость. Поиск в коллекции (фактически есть база и циклически меняемое смещение - индекс) весь происходит в ОП, причем для коллекции полей - очень небольшого размера. Проц, и так прохлаждающийся перманентно, схавает этот цикл, не заметив. Другое дело, что прога занимает энное кол-во мегабайт виртуала и виндузе часто-густо приходится свопироваться - так это беда не FieldsByName, а либо горе-программера, либо ограниченности ресурсов компа.
Зато в читабельности перл Fields[i+y*n] или MyField.As... сродни китайской грамоте. Когда вижу подобный код, хочется выпить с горя !
← →
Val (2003-03-25 20:22) [12]:) Сергей, я говорил не о сравнении с Fields[i], а о сравнении со статическим набором полей. Ведь это(получение статического набора) делается при присвоении поля в примере DoNothing, но тогда непонятно, почему бы просто не получить этот набор как в Соловьев © (25.03.03 16:34), хотя, судя по смайлу, passm © (25.03.03 16:55) просто прикололся :)
← →
MsGuns (2003-03-25 20:29) [13]>Val © (25.03.03 20:22)
Сразу не врубился. Юмор тонок для "юного исследователя TIBDataSet" (меня т.е.) ;)))
Задрал меня уже этот датасет - ну не хочет ни апдетиться, ни рефрешиться, ни позиционироваться ни вообще ни хрена ! Но, блин, я упорный, я его, гада, массой возьму !
← →
Johnmen (2003-03-26 01:10) [14]>MsGuns © (25.03.03 20:29)
>Но, блин, я упорный, я его, гада, массой возьму !
Не, лучше ж..ой, в смысле усидчивостью... :)))))))))))
← →
passm (2003-03-26 09:33) [15]Обычно поступаю как <Соловьев © (25.03.03 16:34)> про это и писал <passm © (25.03.03 16:19)>. Помимо скорости есть плюс в удобстве при описании абстрактных компонент/форм и использовании конкретных свойств полей (TStringField, TFloatField etc.).
Johnmen © (26.03.03 01:10)> Вспоминается анекдот про жену программиста с ребенком в зоопарке :))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c