:: Visual Foxpro, Foxpro for DOS
Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Чужой код, курсор как-то приходит из БД MySql.
У него есть поля типа C(0) и я их алтерю (Alter Sql) на Memo. Там так надо.
Но курсор может быть как представление и он не пойдет на Alter c Column. Надо дать ему
Sele * from w into curs w readwrite
Менять имя курсора - облом в данной ситуации.
Но, если он в другом статусе (в каком не пойму), то на этот Select гавкает, что курсор уже в работе
Где-то так.
Try/Catch всуе не люблю, но пока на нем проехал. И могу нарваться на Try/Catch сверху.



Исправлено 3 раз(а). Последнее : Ydin, 10.05.18 17:35
Ratings: 0 negative/0 positive
Re: Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Хелп
ALTER TABLE might not produce consistent results when used with Visual FoxPro cursors created by the CREATE CURSOR command. In particular, you can create a Visual FoxPro cursor with features, such as long field names, that are normally available only with tables that are part of a database container. ALTER TABLE saves a temporary copy of the cursor, so the rules that apply to free tables also apply, and any features requiring database support are lost or changed in an unpredictable manner. Therefore, you should generally avoid using ALTER TABLE with Visual FoxPro cursors unless you have tested and understood the outcome.
На самом деле это касается любых курсоров, в т.ч. и полученных через SQLEXEC или путём открытия RemoteView.
Правильный подход - "avoid using ALTER TABLE with Visual FoxPro cursors".
Кривоватый подход - проверить все возможные "мешающие" нюансы - прежде всего длинные имена полей. Потом уж делать ALTER TABLE. При этом надо абсолютно чётко понимать ВСЕ последствия пересоздания курсора (а ALTER TABLE именно пересоздаёт курсор) - от разрушений гридов, до потери связи с "удалённым источником" (т.е. если это был RemoteView или CAD, то он уже НЕ будет никак связан с открывшим его соединением, не сможет автоматом сохранять данные в серверную БД, или реагировать на REQUERY).
Идеальный подход - работать через CAD и там ЯВНО задавать структуру курсора - тем самым устраняя вообще всяческую надобность в ALTER TABLE.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ISEXCLUSIVE()
Ratings: 0 negative/0 positive
Re: Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
2 of63
ISEXCLUSIVE() не спасает
2 ИК
Приходит от SQLEXEC. Длинных имен нет. Есть короткие поля C(0) и вроде пустые дата-время, кот. больше Date(3000,1,1)



Исправлено 1 раз(а). Последнее : Ydin, 11.05.18 09:19
Ratings: 0 negative/0 positive
Re: Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Ydin
Приходит от SQLEXEC. Длинных имен нет. Есть короткие поля C(0) и вроде пустые дата-время, кот. больше Date(3000,1,1)
А сам запрос то нельзя переписать, получив сразу вместо с(0) - varchar(1000) к примеру. И будет сразу мемо


------------------
Ratings: 0 negative/0 positive
Re: Как отличить курсор, кот. готов на Modify Stru от не готового к этому?
Ydin
Автор

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Oн из полученных через SQLEXEC. MySql Isam.
Сам я не умею писать запросы, кот. дают C(0)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 Victoriacom Guest (Гостей: 22)

© 2000-2024 Fox Club 
Яндекс.Метрика