![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрция записей [D6, MSSQL]
Тимофеев Илья © (2003-06-30 14:27:00)Имеется MS SQL Server 2000. Обращение через ADO. Имеется grid в котором отображаются отфильтрованные записи (aaa=0, где ааа- имя поля). По нажатию кнопки запускается хранимая процедура, записывающая в это поле единичку. После этого надо сделать так, чтобы эта запись исчезла. Вариант с открытием/закрытием не подходит, дюже долго. Также по той же причине не подходит вариант с установкой CursorLocation в clUseServer. Есть ли возможность просто отфильтровав по новому добиться исчезновения этой записи?
Тимофеев Илья (2003-06-30 15:37:00) [1]естествено там это описано, даже то что написано по английски меня это не смущает. Но что обозначает
The command is executed asynchronously?
я просто не знаю
Johnmen (2003-06-30 15:25:00) [2]Просто нажми F1 - там описано...:)
Тимофеев Илья (2003-06-30 15:20:00) [3]не так написал, конечно. где-то 0, где-то 1. не в этом суть.
тогда встречный вопрос:
сейчас я юзаю для этого Requery([eoAsyncFetchNonBlocking])
что обозначают эти параметры:
eoAsyncExecute,
eoAsyncFetch
eoAsyncFetchNonBlocking
eoExecuteNoRecords
Johnmen (2003-06-30 15:14:00) [4]Ну как она м.б. не обнаружена, если у нее значение поля aaa не изменилось ???!!!
Да и потом :
>отображаются отфильтрованные записи (aaa=0, ...хранимая процедура, записывающая в это поле единичку
и
>хранимая процедура, что-то типа update table set aaa=0
п0-моему, противоречие...:)
Тимофеев Илья (2003-06-30 15:07:00) [5]ситуация такова. Есть таблица. Есть форма, отображающая из нее записи. Это происходит таким образом:
имеется несколько текстовых полей:имя, фамилия, адрес...
При изменении в них текста вызывается процедура с фильтраций:
table.filter:="fam like """+fio.text+"%"""+ "name like"
и т.д.
далее, если нужная запись найдена нажимается кнопка, выполняется хранимая процедура, что-то типа update table set aaa=0
после этого фильтр сбрасывается на пустые строки и ищется след запись. Вот здесь - то и надо, чтобы предыдущая запись не обнаруживалась.
Johnmen (2003-06-30 15:00:00) [6]>скорость при этом та же.
Ничего удивительного - (30.06.03 14:49), неявный перезапрос.
>А скорость очеь критична.
Минимизировать количество записей, получаемых клиентом в результате запроса...
Тимофеев Илья (2003-06-30 14:53:00) [7]В том то и дело. Если CursorLocation установлен в clUseServer
все замечательно, но скорость при этом та же. А скорость очеь критична.
Johnmen (2003-06-30 14:49:00) [8]>отфильтровав по новому
Это как ?
Поскольку данные для фильтрации на клиенте должны обновиться, то их необходимо получить с сервера, а значит, перезапросить...