Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergej_S
Member

Откуда: Латвия
Сообщений: 290
Всем привет!

Курсорадаптером(КАД) с базами MSSQL через ODBC я нормально юзаю, пробую через него работать с родными dbf-ками. Но тут не понимаю логики:

.DataSourceType = 'NATIVE'
.SelectCmd = 'SELECT * FROM C:\table1.dbf'
.Alias = 'cad_table1'
.CursorFill ()

Так вот, таблица table1.dbf на момент запуска CursorFill () НЕ ОТКРЫТА.

Я почему-то думал, что, создав курсор 'cad_table1', КАД должен на время открыть table1.dbf, выкачать данные и САМОСТОЯТЕЛЬНО ЗАКРЫТЬ её. Ну и потом обращаться к ней только по команде КАД.Tableupdate(), открывая и закрывая ее самостоятельно?
Но он ее открыл и оставил.

Или я не прав? Сталкивался кто с этим?
13 июл 15, 10:34    [17884406]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
Sergej_S
Или я не прав?
Конечно. На каком основании вы ожидали закрытия?
13 июл 15, 12:36    [17885040]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergej_S
Member

Откуда: Латвия
Сообщений: 290
Просто привык, что при работе с MSSQL такого не происходит.

Так что порекомендуете? Закрывать dbf-ки самому сразу после селекта из них или нехай будут открытыми до окончания работы проги?

Если второй вариант - то вроде КАД и нет смысла использовать...
13 июл 15, 13:02    [17885179]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Dima T
Member

Откуда:
Сообщений: 15288
Sergej_S
Так что порекомендуете? Закрывать dbf-ки самому сразу после селекта из них или нехай будут открытыми до окончания работы проги?

Чем смущают открытые DBF ? В чем смысл тратить время на их открытие/закрытие?

Sergej_S
Если второй вариант - то вроде КАД и нет смысла использовать...

Из основных плюсов тут возможность быстрой миграции базы на SQL-сервер.
13 июл 15, 13:10    [17885213]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
Sergej_S
Просто привык, что при работе с MSSQL такого не происходит.
Хм, а при работе с ним есть понятие "открытие таблиц"? Не сравниваем ли теплое с мягким?

Так что порекомендуете? Закрывать dbf-ки самому сразу после селекта из них или нехай будут открытыми до окончания работы проги?
Это уж по обстоятельствам надо смотреть.

Если второй вариант - то вроде КАД и нет смысла использовать...
А если подумать?
13 июл 15, 14:24    [17885632]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
sg12
Member

Откуда:
Сообщений: 454
Sergey Sizov
Это уж по обстоятельствам надо смотреть.


Интересно, что это за обстоятельства?

Sergej_S
Лучше придерживаться правила - все, что открыто, должно быть закрыто.
13 июл 15, 15:27    [17886034]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergej_S
Member

Откуда: Латвия
Сообщений: 290
Dima T
Из основных плюсов тут возможность быстрой миграции базы на SQL-сервер

это да, у меня есть свой неплохой класс грида с фильтрами, сортировками и т.д., заточенный под работу с MSSQL через КАД. Поэтому и решил попробовать его адапптировать для dbf.

Sergey Sizov
А если подумать?

стесняюсь спросить, но кроме озвученного Димой Т, у меня была мысль только насчет каких-то преимуществ в многопользовательской работе с БД. Но незакрытие dbf-ок посеяло сомнения.
13 июл 15, 15:31    [17886057]     Ответить | Цитировать Сообщить модератору
 Re: CursorAdapter.DataSourceType = 'NATIVE'  [new]
Sergej_S
Member

Откуда: Латвия
Сообщений: 290
П.С. Забыл уточнить, что тут я имел ввиду использование КАД для гридов.
13 июл 15, 16:04    [17886278]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить