powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с гридом
13 сообщений из 13, страница 1 из 1
помогите с гридом
    #34600614
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возникли трудности, помогите,как отобразить данные в гриде, которые нужно вытащить из таблицы sql server'a
...
Рейтинг: 0 / 0
помогите с гридом
    #34600741
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай про REMOTE VIEW
...
Рейтинг: 0 / 0
помогите с гридом
    #34601082
i__one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создаешь REMOTE VIEW и в качестве источника для грида прописываешь это название. (при этом добавь его в DATAENVIRONMENT экранной формы)
...
Рейтинг: 0 / 0
помогите с гридом
    #34603135
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
после подключения к серверу идет вот такой селект
LOCAL lcStringSQL
lcStringSQL='SELECT FT_M11.dbo.m11_all.Name ;
FROM FT_M11.dbo.m11_all ;
INTO CURSOR cursormin NOFILTER;
*WHERE FT_M11.dbo.m11_all.fio = Fio_now'
SQLExec(m.lnCH,lcStringSQL,'cursormin')
в ините грида прописан курсор
.RecordSource ='cursormin'
ошибку выдает на SQLExec... что ему не нравится?
...
Рейтинг: 0 / 0
помогите с гридом
    #34603164
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно неправильно составлен запрос. Например, непонятно, а зачем в строке запроса фраза
'NTO CURSOR cursormin', ведь SQL сервер и так отправит результаты в курсор cursormin или зачем астерикс(*) перед словом WHERE.
...
Рейтинг: 0 / 0
помогите с гридом
    #34603178
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(*) это опечатка...если убрать в селекте INTI CURSOR .. вылезает ошибка ""Connection handle is invalid"
...
Рейтинг: 0 / 0
помогите с гридом
    #34603450
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karenina_aпосле подключения к серверу идет вот такой селект
LOCAL lcStringSQL
lcStringSQL='SELECT FT_M11.dbo.m11_all.Name ;
FROM FT_M11.dbo.m11_all ;
INTO CURSOR cursormin NOFILTER;
*WHERE FT_M11.dbo.m11_all.fio = Fio_now'
SQLExec(m.lnCH,lcStringSQL,'cursormin')
в ините грида прописан курсор
.RecordSource ='cursormin'
ошибку выдает на SQLExec... что ему не нравится?
Первоначально попробуйте программку составить такого типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
m.lnCH = SQLSTRINGCONNECT("Driver={SQL Server};Server=<имя сервера>;Database=FT_M11;Uid=sa;Pwd=sa;")
*Uid=<идентификатор пользователя>
*Pwd=<пароль>
IF m.lnCH <  0 
   = MESSAGEBOX('Нет соединения!!!',  16 , 'SQL SERVER')
ELSE
   = MESSAGEBOX('Соединение работает!!!',  48 , 'SQL SERVER')
   lcStringSQL="SELECT m11_all.Name FROM m11_all"
   = SQLExec(m.lnCH,lcStringSQL,'cursormin')
   = SQLDISCONNECT(m.lnCH)
ENDIF
И посмотрите получили курсор <cursormin>. Если имеется, то продолжайте работу.
...
Рейтинг: 0 / 0
помогите с гридом
    #34604964
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, помогло
только вопрос, почему когда я запускаю форму все эти данные сразу отображаются в гриде,а когда кликаю на кнопку то весь грид очищается?
...
Рейтинг: 0 / 0
помогите с гридом
    #34604984
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karenina_aспасибо, помогло
только вопрос, почему когда я запускаю форму все эти данные сразу отображаются в гриде,а когда кликаю на кнопку то весь грид очищается?
А в кнопке в методе Click() что написано?

вероятней всего происходит закрытие-открытие курсора (который грид показывает) заново.
...
Рейтинг: 0 / 0
помогите с гридом
    #34605774
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите разобраться , есть грид , в котором отображается бд, необходимо найти в этом гриде значение введенное в TextBOx и занести его во второй грид
...
Рейтинг: 0 / 0
помогите с гридом
    #34606128
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karenina_aпомогите разобраться , есть грид , в котором отображается бд, необходимо найти в этом гриде значение введенное в TextBOx и занести его во второй грид

Думаю сначала надо разобраться с кашей в голове.
1. Грид не может отображать БД, грид отображает таблицу (или курсор)
2. Грид отображает

Из этого вытекает - искать надо не в гриде, а в таблице (курсоре), и заносить не в грид, а в таблицу (курсор) и отображать в другом гриде.

А тут вопросы:
1. как искать? по какому условию, в какой момент, по какому событию?
2. Где второй грид? на этой форме, другой, если другой - ее надо открыть или она уже открыта?
...
Рейтинг: 0 / 0
помогите с гридом
    #34608322
karenina_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно найти данные из курсора,занесенные в textbox
fam_now = val(thisform.pageframe1.page1.text1.text)
по нажатию кнопки поика
и отображить во втором гриде, который находиться на этойже форме
(поиск надо осуществлять по колонке с фамилиями)
...
Рейтинг: 0 / 0
помогите с гридом
    #34609695
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karenina_aнужно найти данные из курсора,занесенные в textbox
fam_now = val(thisform.pageframe1.page1.text1.text)
по нажатию кнопки поика
и отображить во втором гриде, который находиться на этойже форме
(поиск надо осуществлять по колонке с фамилиями)
Обычно это делается в том же гриде, в кнопка.Click() (или textbox.LostFocus() тогда кнопка не нужна) прописываешь
Код: plaintext
1.
2.
3.
4.
sele курсор
set filter to fam_now = val(thisform.pageframe1.page1.text1.text)
go top
thisform...Grid1.Refresh()
thisform...Grid1.SetFocus()

Если же все-таки надо во второй грид, то делаешь выборку во второй курсор, а затем делаешь привязку грида к курсору. Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
select * from курсор1 where fam_now = val(thisform.pageframe1.page1.text1.text) into курсор2
thisform...Grid2.RecordSource = 'курсор2'
thisform...Grid2.ColumnCount =  1 
thisform...Grid2.Column1.ControlSource = 'курсор2.поле1'
...

Можно чуть проще с третьим курсором. Предварительно создаешь пустой курсор при создании формы (DE.BeforeOpenTables()), привязываешь его к гриду (колонки, заголовки и т.д.) а потом при поиске
Код: plaintext
1.
2.
3.
4.
select * from курсор1 where fam_now = val(thisform.pageframe1.page1.text1.text) into курсор2
sele курсор3
delete all
append from dbf('курсор2')
go top
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с гридом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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