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

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

Провайдер VFPOLEDB.1 и запрет возврата удаленных запис [D7, dBase, FoxPro]


Страницы:   1 2

Сергей М. ©   (2010-09-17 17:49:00) 

Строка коннекта:

Provider=VFPOLEDB.1;
Data Source=x:\yyy\zzz.dbf;
Mode=Share Deny Write;
Deleted=Yes;
и т.д.

Не работает, зараза.. Возвращает все подряд - и удаленные и не удаленные ..

Явное требование 'SET DELETED ON' в ADCommand.CommandText так же не приводит к ожидаемому результату.

Где грабли ?)


sniknik   (2010-09-20 14:52:00) [21]

> черным по желтому написано
> Note
> Visual FoxPro OLE DB Provider does not support multiple result sets.
> ?
и тем не менее, в ODBC драйвере они были. (не буду искать доку, и так помню, у меня без них одна программа бы не работала)

> Но команду SET DELETED On/OFF он обязан понимать и исполнять как положено
ну, у меня и исполняет. как положено.

> adoConn.ConnectionString := 'Provider=VFPOLEDB.1;Data Source=x:\yyy;Password="";Collating Sequence=MACHINE
adoConn.KeepConnection := ???


Сергей М.   (2010-09-20 13:56:00) [22]


> sniknik ©   (18.09.10 09:01) [4]


Не возьму в толк нафига мне множественные рекордсеты, тем более что в

http://msdn.microsoft.com/en-us/library/0xzsac67%28VS.80%29.aspx

черным по желтому написано

Note

Visual FoxPro OLE DB Provider does not support multiple result sets.


?

Все что мне надо - это после коннекта к провайдеру (OLEDB или ODBC) установить режим игнора удал.записей в возвращаемых провайдером наборах данных, после чего открыть собственно требуемый НД.

Ну хорошо, пусть, предположим, vfpoledb-провайдер "не понимает" расширенного св-ва "Deleted"

Но команду SET DELETED On/OFF он обязанпонимать и исполнять как положено, судя хотя бы по первоисточнику:

http://msdn.microsoft.com/en-us/library/80x51c04%28v=VS.80%29.aspx

Вот рантайм-эквивалент моих потуг, не приводящих к желаемому результату:

   adoConn.ConnectionString := 'Provider=VFPOLEDB.1;Data Source=x:\yyy;Password="";Collating Sequence=MACHINE
   adoCmd.Connection := adoConn;
   adoDataset.Connection := adoConn;
   adoCmd.Connection.Connected := True;
   cmd.CommandText := 'SET DELETED ON';
   cmd.Execute;
   adoDataset.Open;


Команда SET DELETED ON якобыуспешно отрабатывается (иначе бы я схлопотал исключение), дейтасет успешно открывается, но в нем я вижу солянку из существующих и удаленных записей.

Вот и стою на асфальте в лыжи обутый..

p.s
Долбаный фокс, когда же он наконец окончательно умрет ?)


sniknik   (2010-09-18 09:18:00) [23]

> а SET DELETED OFF - пожалуйста вам, с удаленными ..
вообще, проверил, у меня так работает... а в строке при наборе в мастере параметра Deleted совсем нет. т.е. возможно ты пытаешься задать не существующий параметр, или у меня версия драйвера другая, давно ставил, точно не новая.


sniknik   (2010-09-18 09:01:00) [24]

> ODBC, проблем как помнится не было
тоже работал с ним только через ODBC... но по другой причине.
вот попробуй в подключении к ODBC выполнить 2 запроса в одном блоке/команде (разделенные ;). работает? а теперь то же самое в OLEDB... а я с MSSQL уже как то привык к множественным рекордсетам (ну и если не работает одно, причем давно, и не исправляют, то где гарантии на остальное?).


Сергей М.   (2010-09-17 22:36:00) [25]

Раньш бывалочи ходил в фоксовые таблицы через ISAM да ODBC, проблем как помнится не было - Deleted=Yes отрабатывала как положено ..
А тут вот приспичило постучать через OLEDB - и нате вам)..


Сергей М.   (2010-09-17 22:26:00) [26]


> sniknik ©   (17.09.10 19:10) [1]


Если бы)..
Это мелкомягкие так умудрились сократить IgnoreDeleted..


> попробуй No


Хоть Но, хоть Йес, хоть Да, хоть Нет - результат один и тот же ..

Чувствуя себя полным бараном открываю FoxPro25, командую ему SET DELETED ON - и та же самая таблица расчудесно показывается им без удаленных записей, а SET DELETED OFF - пожалуйста вам, с удаленными ..


sniknik   (2010-09-17 19:10:00) [27]

> Deleted=Yes;
указание показывать удаленное... попробуй No.


Страницы:   1 2

Наверх

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