powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор и Грид!!! Просьба прояснить ситуацию!!!
4 сообщений из 4, страница 1 из 1
Курсор и Грид!!! Просьба прояснить ситуацию!!!
    #32459806
chel99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу сделать SQL-запрос на MSSQL (select * from ...) с помощью
SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName]).
Перед SQLEXEC делаю MyCursor=createobject("cursor").
Теперь что подставить в SQLEXEC - MyCursor, MyCursor.Name, MyCursor.Alias???
Как обратиться к курсору - sele (MyCursor), sele (MyCursor.Alias)???
Вообще в чем разница между MyCursor.Name и MyCursor.Alias???
Можно конечно в SQLEXEC подставить строку "MyCursor"в качестве [CursorName] и затем сделать sele MyCursor и т.д. ,но возникает проблема с Гридом - после обновления данных. Грид ломается. Написал процедуру, восстанавливающую Грид после обновления данных - все хорошо работает , - НО НЕУЖЕЛИ ВСЕ ТАК СЛОЖНО С КУРСОРОМ И ГРИДОМ?????????? Думаю Грид ломается из-за смены курсора. Вот и хочу сделать постоянный курсор для Грида, а как?
...
Рейтинг: 0 / 0
Курсор и Грид!!! Просьба прояснить ситуацию!!!
    #32460147
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName])

Здесь CursorName - это как-раз alias того курсора, в который попадет результат выборки на стороне FoxPro. Т.е. обращение будет вида:

SQLEXEC(nConnectionHandle, cSQLCommand, "MyCursor")
?MyCursor.MyField

Если имя курсора не указать явно, то FoxPro сам "придумает" ему имя. Скорее всего, это будет что-то вроде "Result" или "Query"

Чтобы Grid не ломался, необходимо перед модификацией источника данных отключить Grid от этого источника:

ThisForm.Grid1.RecordSource=""
SQLEXEC(nConnectionHandle, cSQLCommand, "MyCursor")
ThisForm.Grid1.RecordSource="MyCursor"
ThisForm.Grid1.Column1.ControlSource="MyCursor.Field1"
ThisForm.Grid1.Column2.ControlSource="MyCursor.Field2"
...
...
Рейтинг: 0 / 0
Курсор и Грид!!! Просьба прояснить ситуацию!!!
    #32460286
chel99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял, что до SQLEXEC и после SQLEXEC - Grid ссылается на совершенно разные курсоры - хотя с одним и тем же именем. Курсор до SQLEXEC разрушается, и после SQLEXEC создается новый курсор (но с тем-же именем). В этом причина необходимости делать
ThisForm.Grid1.RecordSource="" и затем
ThisForm.Grid1.RecordSource="MyCursor"

Получается вообще свойства курсора Alias,Name никак не применяются. Берется строка varMyCursor="MyCursor" или даже MyCursor="ARF2TTFsdsd6783"
и работаешь с именем этой строки. Где там сам объект-курсор, какое у него Name, Alias - это никого не волнует и никому не надо. Главное делай вовремя
ThisForm.Grid1.RecordSource="" и затем
ThisForm.Grid1.RecordSource=MyCursor
и все будет Окей.
...
Рейтинг: 0 / 0
Курсор и Грид!!! Просьба прояснить ситуацию!!!
    #32460396
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай здесь

http://www.foxclub.ru/kb/index.php?sid=24056&aktion=artikel&rubrik=001&id=6&lang=ru#Cursor

Что в FoxPro понимается под термином "Курсор"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсор и Грид!!! Просьба прояснить ситуацию!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]