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

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

Как сделать


VDenis ©   (2002-12-20 11:13:00) 

Ситуация такая: на сервере MSSQL при запуске приложения создается временная таблица #Table1, затем при помощи Query1 выполняется к таблице запрос "select * from #Table1". Работает.
Меняю - Query1.RaquestLive:=True. Ругается "Token not found...".
Пробовал имя таблицы ставить в кавычки - ругается "Table does not exist. Invalid object name #Table1".
Как сделать "живой" запрос из Делфи к временной таблице на сервере MSSQL? Заранее спасибо.


asmith   (2002-12-20 13:53:00) [1]

Делфи тут ни при чем, это работа BDE. Дело в том, что когда BDE обрабатывает RaquestLive:=True, набор данных переводится в режим, когда нужно автоматически апдейтить таблицу, упомянутую в запросе. Вот на MSSQL и идут обращения к #Table1. Но там таковой просто нет - посмотри ради интереса в sysobjects - сервер искажает имя временной таблицы для каждой сессии.


sniknik   (2002-12-20 12:12:00) [2]

возьми ADODataSet там есть параметр CommandType поставь cmdTableDirect

с ним получится.


VDenis   (2002-12-20 12:03:00) [3]

Если я на сервере создам такую же не временную таблицу, то в этом случае "живой" запрос работает. Почему Делфи так реагирует на временные таблицы?


ЮЮ   (2002-12-20 11:54:00) [4]

А это написано в Helpe
A True value for RequestLive is a request for an updatable result set. It does not guaranteethat the database back-end will return an updatable result set. See the documentation for the specific database system used for the criteria needed for a live query result set. If the database cannot return an updatable result set, a read-only result set is returned instead.This is done automatically and usually without error. Some database systems may raise an exception on requests for live result sets that cannot be fulfilled. Check the success of the request by inspecting the dataset component’s CanModify property.


ЮЮ   (2002-12-20 11:50:00) [5]

Как показывает опыт, при отсутствии индексов "живой" запрос невозможен


VDenis   (2002-12-20 11:39:00) [6]

Индексов нет. Использую BDE.


ЮЮ   (2002-12-20 11:38:00) [7]

Индексы в таблице есть? BDE или ADO используешь?


VDenis   (2002-12-20 11:24:00) [8]

"Token not found. Token: Line Number: 1"


ЮЮ   (2002-12-20 11:19:00) [9]

"Token not found...". А кто не найден - то?


Наверх

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