Форум: "Базы";
Поиск по всему сайту: 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.021 c
3-52516           Nest                  2001-12-17 11:15  2002.01.17  
Возможно ли из программы открыть временную таблицу для редактирования? Со стандартными компонентами не получается %(


1-52549           AndreyK               2001-12-28 11:23  2002.01.17  
Люди, помогите мне с установкой компонента!


1-52544           Kroal                 2001-12-28 06:58  2002.01.17  
TButton


4-52682           Viking                2001-11-15 13:23  2002.01.17  
Заполнение web форм


3-52457           KMZ                   2001-12-14 09:09  2002.01.17  
MDI формы в Делфях