Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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, там все написано.




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




Наверх





Память: 0.74 MB
Время: 0.029 c
1-32245           Sasha2                2002-01-27 00:12  2002.02.11  
Как удалить выделенную запись из Tstringgrid?


3-32160           Константин            2002-01-16 16:33  2002.02.11  
Ничего не понимаю!!!


1-32181           Ig                    2002-01-25 12:37  2002.02.11  
Ошибка при StrToDate


3-32152           Sergei                2002-01-16 13:03  2002.02.11  
Номер записи в SQL-сервере


1-32277           Vasya_dvc             2002-01-28 16:42  2002.02.11  
Подключение своего шрифта к программе