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




Вниз

Возможно ли из программы открыть временную таблицу для редактирования? Со стандартными компонентами не получается %( 


Nest   (2001-12-17 11:15) [0]

(например #tmp),чтоб юзер мог её поправить через ДБГрид.стандартные датасеты ругаются:
TTable при попытке открыть таблицу #tmp пишет "Invalid Table name"
а TQuery("SELECT * FROM #tmp") выбирает, но только в реадонли.
Если ставишь RequestLive=TRUE, то будет ошибка "Invalid use of keyword FROM"
1.Может кто сталкивался и нашёл выход? Помогите.
2.Есть "левые" компоненты без этого бага?



Boo   (2001-12-17 11:21) [1]

Есть RXMemoryData, но памяти жреть как собака...
Моно через TQuery, если поставить CashUpdate:=true (вроде), но енто у меня глючило при зонесении изменений в базу (TUpdateSQL)



Delirium   (2001-12-17 11:36) [2]

Дело в том, что временные таблицы в MSSQL существуют и автоматически уничтожаются в составе одной сесси, а Query или ADOQuery при исполнении запроса - создают новую сессию и обращаться к временным таблицам в них можно только если они там-же и были созданы:

select * into #Temp from Table1
select * from #Temp



Nest   (2001-12-17 11:40) [3]

TQuery, если поставить CashUpdate:=true - чего-то не получается.

А RXMemoryData - на первый взгляд вообще геморрой...

Так у тебя так и не получилось или как стал делать?



Nest   (2001-12-17 11:55) [4]

2Delirium ©
Да знаю...
Потому и указываю свойство dataset.session явно.
Дело не в том что запрос не вибирает - он вибирает.
Но мне нужно чтоб вернулся RequestLive-dataset.



Delirium   (2001-12-17 12:32) [5]

Что-то я сомневаюсь, что с MSSQL dataset.session прокатит. Я думаю, что если запрос он и возвращает, то MSSQL-ная сессия закрывается сразу после этого. По этому и RequestLive не активируется, наверное. А, почему бы постоянные таблицы не использовать?



Nest   (2001-12-17 12:39) [6]

2Delirium ©
Не у всех пользователей есть права на создание обычных таблиц.
А ввод данных осуществляется через промежуточные табл.



Delirium   (2001-12-17 13:09) [7]

Попробуй разобраться с SESSION_USER в MSSQL, я сам не пробывал, так что если что получится сообщи - буду благодарен.



Boo   (2001-12-17 13:15) [8]

>Nest
Про RXMemoryData ты не прав, я его всегда юзаю, когда надо иметь временную таблицу (проще и никаких прав не надо...), нуно только следить, чтоб записей в ней было немного, а то разоришся на мозгах :-)



Delirium   (2001-12-17 13:59) [9]

Сообразил, как сделать: бывают же глобальные - временные таблицы!
Типа ##table !



Nest   (2001-12-17 14:04) [10]

2Delirium ©
Если можно, поподробнее?



Delirium   (2001-12-17 14:07) [11]

Это то-же самое что и #table только создаёшь с двумя ##, такая таблица "живёт" для всех юзеров и сессий, пока к ней кто-нибудь обращается.



Nest   (2001-12-17 14:23) [12]

Спасибо. Это меня должно спасти.




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




Наверх





Память: 0.74 MB
Время: 0.031 c
3-52512           ASDS                  2001-12-14 12:58  2002.01.17  
Нумерация результатов запроса


1-52618           Анатолий              2002-01-01 03:57  2002.01.17  
ReportSmith


1-52573           Lamok (real)          2001-12-28 23:23  2002.01.17  
EStringlistError


1-52564           $DM                   2001-12-28 15:26  2002.01.17  
FastReport 2.44. Ребята помогите!!! Не получается скрыть мемо поле с помощью скрипта.


1-52591           Zabrodin_Lex          2001-12-27 12:37  2002.01.17  
проблема с reset() в методе OBJECTа