Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Вниз

Direct Oracle Access.   Найти похожие ветки 

 
Andrey007   (2002-01-15 09:51) [0]

(В продолжении темы http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1009611061&n=1)

Поставил я себе DOA, взял SQL запрос (TOracleQuery), а у него нету Locate. Неужели всё придётся делать через параметры (Variables)? Ведь тогда получается, что для каждого поиска нужно писать свой SQL-запрос, что неудобно. Или может я не нашёл чего? Или версия DOA старая?


 
Юрий Жуков   (2002-01-15 10:41) [1]

В DOA Есть компонент TORACLEDataSet - в нем и будет твой locate


 
Andrey007   (2002-01-15 10:43) [2]

Но мне хотелось бы иметь Locate для Query.


 
EAlexander   (2002-01-15 10:47) [3]

OracleQuery - однонаправленный курсор - какой там может быть Locate ?:)
Тем более разница по скорости между OracleDataSet и OracleQuery при небольших объемах данных - не более 1000 строк - практически нет.


 
Andrey007   (2002-01-15 17:31) [4]

Дело не в объёмах, а в том, что запрос по нескольким таблицам.


 
EAlexander   (2002-01-15 17:40) [5]

А какая разница?
просто OracleQuery не кеширует данные как это делает OracleDataSet, у Query только одно текущее значение и читается как FieldAsXXXX, поэтому там Locate быть не может.


 
Внук   (2002-01-15 17:41) [6]

Ну и что? TOracleDataSet это позволяет.


 
Внук   (2002-01-15 17:55) [7]

Кстати, если пользоваться TOracleDataSet, то лучше употреблять метод SearchRecord, если версия DOA не очень старая. Будет работать быстрее (по крайней мере, так пишут разработчики).


 
EAlexander   (2002-01-15 18:37) [8]

OracleDataSet - наследник TDataSet - и следовательно, все, что там есть (Locate и т.п.) - работает, должно, по крайней мере.
А OracleQuery работает пошустрей, если у БД надо исполнить запрос, короче - когда НД не нужен.


 
MaXimka   (2002-01-15 22:41) [9]

Вот сейчас поковырялся с OracleDataSet - ни фига не работает ни Locate, ни этот широко разрекламированный SearchRecord. Например, пытался найти строку, имеющую в определённом поле заданное число - в результате всегда находится 0, даже если таких строк вообще нет. Вот так, значица. DOA у меня 3.4.5.


 
Юрий Жуков   (2002-01-16 08:58) [10]

У меня TOracleDataSet.Locate точно работает.
DOA 3.4.5 + D6(Update1)


 
Andrey007   (2002-01-16 09:14) [11]

EAlexander:
>А OracleQuery работает пошустрей, если у БД надо исполнить запрос, короче - когда НД не нужен.

А что такое НД?

Кстати, у меня DOA 3.4.3 для Delphi 5.


 
EternalWonderer   (2002-01-16 10:36) [12]

И у меня TOracleDataSet.Locate работает, и даже очень шустро
DOA 342, D6(Update1).


 
Andrey007   (2002-01-16 11:23) [13]

А-а, понятно теперь всё. Оказывается TOracleDataSet тоже сделан для работы с запросами. Но тогда непонятно какая компонента является аналогом TTable?


 
EAlexander   (2002-01-16 11:44) [14]

НД - набор данных.
В клиент/сервере аналогов TTable нет, поскольку там все через запросы - получается SELECT * FROM TABLE1 - очень похоже на TTABLE :)


 
Andrey007   (2002-01-16 17:09) [15]

А чем отличается TOracleQuery от TOracleDataSet кроме наличия Locate у TOracleDataSet? Где-нибудь в справке по DOA-компонентам есть описание этих отличий?


 
EAlexander   (2002-01-16 18:45) [16]

OracleQuery - однонаправленный курсор, у него нет понятия о TField, методов FieldByName и т.п.
OracleDataSet - это НД, наследник TDataSet, у него есть все (или практически все - зависит от особенностей Ora), что и у стандартного BDE TQuery.

P.S. вообще есть help, там все написано.



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

Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.003 c
1-32201
Oleg Fomicheff
2002-01-18 13:44
2002.02.11
Помогите с алгоритмом


1-32261
Дмитрий
2002-01-28 13:43
2002.02.11
Error line


1-32276
IronHawk
2002-01-24 16:35
2002.02.11
И снова проблема .... многоуважаемые Мастера ! ! !


1-32260
pasha_64
2002-01-27 05:01
2002.02.11
Ввод в TMemo


1-32259
Лана Розанова
2002-01-28 13:17
2002.02.11
KeyPress





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский