Текущий архив: 2002.12.26;
Скачать: CL | DM;
ВнизOperation not allowed on unidirectional dataset Найти похожие ветки
← →
xenon (2002-12-05 17:24) [0]ставлю на форму SQLConnection + SQLQuery + DataSource + DBGrid
Драйвер = MSSQL, SQL = select * from mytable
после того, как в гриде уставливаю свойство DataSource, получаю сабж. пробовал D6, D7, CLX, VCL - результат один и тотже.
В чем может быть проблема?
Драйвер брал с http://www.crlab.com/dbexpsda.exe
← →
FreeLancer (2002-12-05 17:37) [1]SQLConnection + SQLClientDataset + DataSource + DBGrid
← →
xenon (2002-12-06 09:38) [2]SQLClientDataset - имеется ввиду SQLDataSet или ClientDataSet?
Если SQLDataSet, то получаю тот же самый результат.
А ClientDataSet, я так понимаю, нужен для получения данных из XML-файлов и т.п.
← →
ЮЮ (2002-12-06 09:53) [3]Unidirectional datasets (TSQLDataSet, TSQLTable, TSQLQuery, and TSQLStoredProc) use dbExpress, which only returns unidirectional cursors
(из справки по "unidirectional cursors")
А для грида нужен bi-directional cursors
← →
Johnmen (2002-12-06 09:54) [4]>xenon © (06.12.02 09:38)
Понимаешь неверно !
См.хелп по TDataSetProvider и TClientDataSet.
← →
ЮЮ (2002-12-06 10:02) [5]А вот еще из Helpa:
Many of the capabilities introduced by TDataSet are either unimplemented in unidirectional datasets, or cause them to raise exceptions. For example:
The only supported navigation methods are the First and Next methods. Most others raise exceptions. Some, such as the methods involved in bookmark support, simply do nothing.
There is no built-in support for editing because editing requires a buffer to hold the edits. The CanModify property is always False, so attempts to put the dataset into edit mode always fail. You can, however, use unidirectional datasets to update data using an SQL UPDATE command or provide conventional editing support by using a dbExpress-enabled client dataset or connecting the dataset to a client dataset .
There is no support for filters, because filters work with multiple records, which requires buffering. If you try to filter a unidirectional dataset, it raises an exception. Instead, all limits on what data appears must be imposed using the SQL command that defines the data for the dataset.
There is no support for lookup fields, which require buffering to hold multiple records containing lookup values. If you define a lookup field on a unidirectional dataset, it does not work properly.
И чего вас на dbExpress потянуло, неясно :-))
← →
xenon (2002-12-06 10:24) [6]> ЮЮ © (06.12.02 10:02)
> И чего вас на dbExpress потянуло, неясно :-))
Кросс-платформенность
Разобрался. Всем спасибо.
← →
ЮЮ (2002-12-06 10:29) [7]Пусть уж на многих платформах не работает, чем на одной - но работает :-)
>Разобрался. Всем спасибо.
А с остальными поделиться ???
← →
xenon (2002-12-06 10:59) [8]Делюсь:
SQLConnection + (TDataSetProvider + SQLQuery) + TClientDataSet + DataSource + DBGrid
Блин, как все сложно. Чувствую, что приобретаю себе известную болезнь на заднее место.
← →
xenon (2002-12-06 11:05) [9]Нашел интересную статью:
http://www.ibase.ru/devinfo/dbexpress.htm
Кажется то то нужно.
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c