![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пронумеровать строки в ДБГриде, причем когда я делаю сортировку.. [D6]
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, а на клиенте после открытия датасета в цикле проставить ему номера. Но это через "одно место".