Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пронумеровать строки в ДБГриде, причем когда я делаю сортировку.. [D6]


Страницы:   1 2 3

Relaxxx ©   (2003-09-03 14:48:00) 

Пронумеровать строки в ДБГриде, причем когда я делаю сортировку по какому то полю это поле не сортируется как все остальные. Да и RowNum не подходит у веня версия оракла старовата и он неправельно работает когда используеш ордер бай


DenK_vrtz   (2003-09-04 15:59:00) [1]

Vlad ©, понял :-), спасибо, буду пробовать!


Sergey13   (2003-09-04 15:51:00) [2]

2DenK_vrtz © (04.09.03 15:33) [46]
>Как выполнить функцию, которая возвращает курсор?
Аналогично StoredProc, у которой Result-параметр типа Cursor
Это та еще тема. А времени у меня сегодня уже нет. До завтра.


Vlad   (2003-09-04 15:35:00) [3]

DenK_vrtz © (04.09.03 15:33) [46]
Функция возвращает Ref Cursor
В параметрах ORacleDataSet объявляешь переменную типа курсор и в SQL пишешь:
begin
:MyCursor:=Package.Function(parameter);
end;
И работаешь как с обычным датасетом
(один из вариантов)


Vlad   (2003-09-04 15:33:00) [4]

>Sergey13 © (04.09.03 15:27) [45]
Большое спасибо. А то без исходников скучновато как то :)


DenK_vrtz   (2003-09-04 15:33:00) [5]

Sergey13 ©, а письма так и нет!

Тогда еще вопрос!
Как выполнить функцию, которая возвращает курсор?
Аналогично StoredProc, у которой Result-параметр типа Cursor


Sergey13   (2003-09-04 15:27:00) [6]

2Vlad © (04.09.03 15:21) [43]
Ушло, но лови немного погодя, не сразу. Если чего, пиши на мыло (в анкете).


DenK_vrtz   (2003-09-04 15:27:00) [7]

Вот так дела! Спасибо мужики, за подсказку!


Vlad   (2003-09-04 15:21:00) [8]

Sergey13 © (04.09.03 15:18) [42]
на ник мышом наведи и на статусбар глянь:)
В анкету не хочу давать.


Sergey13   (2003-09-04 15:18:00) [9]

2Vlad © (04.09.03 15:16) [41]
>Вышли, если тебе не сложно по почте два этих PAS"а
куды слать то. В анкете почты не нашел.


Vlad   (2003-09-04 15:16:00) [10]

Sergey13 © (04.09.03 14:53) [35]
Вышли, если тебе не сложно по почте два этих PAS"а


Vlad   (2003-09-04 15:11:00) [11]

Sergey13 © (04.09.03 15:06) [38]
А если запрос сложный, то rowid не будет.
Есть вариант добавить фиктивный rowid. Напр.
Select ChartoRowid(null) "rowid", .........


Vlad   (2003-09-04 15:09:00) [12]

>DenK_vrtz © (04.09.03 15:02) [37]
Чтобы датасет был НЕ ReadOnly нужно чтоб он имел rowid. Соотв. если запрос сложный, те. сост. из неск-ких таблиц, то такой набор не будет иметь rowid. И DOA сам не сможет определить какую именно запись нужно апдейтить. Поэтому на событие OnApplyRecord (см хелп) нужно явно указывать как и что апдейтить. И если сказать Applied:=true, то DOA понимает что ты сам задал условие апдейта, и убирает ReadOnly с датасета.
Немного коряво объяснил, ну ладно..


Sergey13   (2003-09-04 15:06:00) [13]

2DenK_vrtz © (04.09.03 15:02) [37]
Добавь в строку запроса ROWID редактируемой таблицы типа
select a.*,a.rowid from tabla a
запрос станет редактируемым.


DenK_vrtz   (2003-09-04 15:02:00) [14]

К вопросу о DOA.
Никак не могу понять(может совсем отупел), как пользоваться обычными методами Insert, Edit у OracleDataSet(или перевести его в эти состояния, постоянно пишет, что запрос в read-only)? или обратиться к таблице(представлению) как в TTable? Как выполнить функцию, которая возвращает курсор или работать с BLOB-полями?

Sergey13 ©, почта не пришла! :-(


roottim   (2003-09-04 14:59:00) [15]

http://www.sql.ru/faq/faq_topic.aspx?fid=132
а order by в подзапросе действительно работает сравнительно недавно


Sergey13   (2003-09-04 14:53:00) [16]

2Vlad © (04.09.03 14:38) [34]
>ты Direct Oracle Access 3.4.6.4 пробовал ставить, скачанный с сайта, который ты привел ?
Нет. Она там только на Д6. У меня Д5 и я ставил 3.4.6.1.

>А source я имел ввиду Oracle.pas и OracleData.pas
У меня есть.


Vlad   (2003-09-04 14:38:00) [17]

Sergey13 ©, ты Direct Oracle Access 3.4.6.4 пробовал ставить, скачанный с сайта, который ты привел ?
У меня при запуске инсталляции I/O error возникает.
А source я имел ввиду Oracle.pas и OracleData.pas
Вот в 3.4.3 их нет. Есть только *.DCU


DenK_vrtz   (2003-09-04 14:28:00) [18]

Интересно, почему Relaxxx © молчит!? Думает наверно! :-)


Sergey13   (2003-09-04 14:27:00) [19]

2Vlad © (04.09.03 14:18) [31]
>Нда.. кстати, я тут вспомнил о изначальном вопросе.
Дык я уже раз пять спрашивал автора - НА ФИГА? Боюсь что ответ будет (если будет) - так юзер хочет "как в экселе", а зачем не говорит.


Vlad   (2003-09-04 14:18:00) [20]

Sergey13 © (04.09.03 14:16) [30]
Спасибо, посмотрю.
Нда.. кстати, я тут вспомнил о изначальном вопросе. Допустим сортировка с помощью индекса прокатит. Но кажись парню нужно сортировать по разным полям таблицы, возможно даже по всем. ИМХО, создавать индексы для всех полей - жирно будет... :-)
Резюмировав, могу предположить, что в ДатаСете без извращений нумеровать строчки не выйдет.
Т.е. можно конечно в SELECT"е дать фиктивное поле со значением Null, а на клиенте после открытия датасета в цикле проставить ему номера. Но это через "одно место".


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо