powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли работать по одному connection с 2-мя таблицами
6 сообщений из 6, страница 1 из 1
Можно ли работать по одному connection с 2-мя таблицами
    #35645489
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была форма на ней было две таблицы связанные Relation по коду, идёшь по записям(наименование) первой таблицы, во второй сразу отображается прикреплённые к этому коду записи второй таблицы...
делаю
lnconnection = SQLSTRINGCONNECT(lcconnstring)
omycad = CREATEOBJECT('CursorAdapter')
fl=.F.
WITH omycad
.ALIAS = 'price'
.DATASOURCETYPE = 'ODBC'
.DATASOURCE = lnconnection
.SELECTCMD = 'select * from price'
.TABLES = 'price'
.BUFFERMODEOVERRIDE = 5
IF .CURSORFILL(.T.)
fl=.T.
ELSE
AERROR(laerrors)
MESSAGEBOX(laerrors[2])
ENDIF
ENDWITH
IF fl
omycad_1 = CREATEOBJECT('CursorAdapter')
WITH omycad_1
.ALIAS = 'nomzen'
.DATASOURCETYPE = 'ODBC'
.DATASOURCE = lnconnection
.SELECTCMD = 'select KOD,NAIM from nomzen'
.TABLES = 'nomzen'
.BUFFERMODEOVERRIDE = 5
MESSAGEBOX('ok')
Вот до сюда всё нормально
*****************
IF .CURSORFILL(.T.)
а тут выскакивает ошибка busy(занято соединение), но если я иду дебугером, то эта функция отрабатывает без ошибок

DO FORM FORMS\spr_iz_s
ELSE
AERROR(laerrors)
MESSAGEBOX(laerrors[2])
ENDIF
ENDWITH
ENDIF

Т.е. как я понимаю установил соединение с базой данных, а как теперь настроить и заполнить курсоры из разных таблиц...
второй вопрос, надо ли мне выбирать все записи из дочерней таблицы, или при перемещение на другую запись родител. таблицы, выбирать записи дочерней и подгружать во вторую таблицу....
Или надо просто расшарить коннекшн....
...
Рейтинг: 0 / 0
Можно ли работать по одному connection с 2-мя таблицами
    #35645587
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ННовичок lnconnection = SQLSTRINGCONNECT(lcconnstring)


Что возвращает

Код: plaintext
1.
2.
?SQLGETPROP(lnconnection, 'Asynchronous')
?SQLGETPROP(lnconnection, 'BatchMode')
?SQLGETPROP(lnconnection, 'Shared')

ННовичокТ.е. как я понимаю установил соединение с базой данных, а как теперь настроить и заполнить курсоры из разных таблиц...


Код: plaintext
?CURSORGETPROP('FetchSize','price')


ННовичоквторой вопрос, надо ли мне выбирать все записи из дочерней таблицы, или при перемещение на другую запись родител. таблицы, выбирать записи дочерней и подгружать во вторую таблицу....
Или надо просто расшарить коннекшн....

Теория гласит, что в общем случае надо делать перезапрос и подгружать данные из дочерней таблы. Но на практите при определенных условиях можно залить все таблы на клиента.
...
Рейтинг: 0 / 0
Можно ли работать по одному connection с 2-мя таблицами
    #35645638
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist lnconnection = SQLSTRINGCONNECT(lcconnstring)


Что возвращает

Код: plaintext
1.
2.
?SQLGETPROP(lnconnection, 'Asynchronous') => .F.
?SQLGETPROP(lnconnection, 'BatchMode') => .T.
?SQLGETPROP(lnconnection, 'Shared') => .F. 
...
Рейтинг: 0 / 0
Можно ли работать по одному connection с 2-мя таблицами
    #35645711
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установить для соединения

Код: plaintext
SQLSETPROP(lnconnection, 'Shared', .T.)

либо для всех ещё не созданных соединений

Код: plaintext
SQLSETPROP( 0 , 'Shared', .T.)
...
Рейтинг: 0 / 0
Можно ли работать по одному connection с 2-мя таблицами
    #35645836
ННовичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQLSETPROP(0, 'Shared', .T.)
SQLSETPROP(lnconnection, 'Shared', .T.)

выдаёт сообщение this property is read only

SQLSTRINGCONNECT(lcconnstring,.T.) тоже безрезультатно..
...
Рейтинг: 0 / 0
Можно ли работать по одному connection с 2-мя таблицами
    #35645857
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чЁ то я промахнулся, надо так:

Код: plaintext
lnconnection = SQLSTRINGCONNECT(lcconnstring, .T.)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли работать по одному connection с 2-мя таблицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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