powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Update source table
14 сообщений из 14, страница 1 из 1
Update source table
    #34378265
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто подскажет, смотрю, в тему ыклиниваюсь...
Мне нужно обновить данные на сервере (в одной из таблиц)...
Ниже приведенная конструкцм не работает и не понимаю почему?

cStringConnect = 'Driver=SQL Server;SERVER=MYSRV;DBMSSOCN=TCP/IP;DATABASE=Sales'
gnConnHandle = SQLSTRINGCONNECT(cStringConnect)


IF gnConnHandle <= 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
RETURN
ELSE
* = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
ENDIF


b = SQLEXEC(gnConnHandle, "SELECT * FROM lst_goods", 'MyCursor')
* Тяним данные в курсор MyCursor
* Устанавливаем необходимую буферизацию и настройки
SET MULTILOCKS ON
=CURSORSETPROP('Buffering', 5, 'MyCursor')

SELECT MyCursor
REPLACE TestId WITH 1 ALL
= TABLEUPDATE(.T.,.T., 'MyCursor')
= SQLCOMMIT(gnConnHandle)
Данные на сервере не обновились...
...
Рейтинг: 0 / 0
Update source table
    #34378276
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
потому, что
есть курсорадаптер или ремоутвью

я сам не знаю как оторванный склэкзеком курсор
погнать назад
...
Рейтинг: 0 / 0
Update source table
    #34378282
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал я про курсор адаптер - но это фишка только в VFP9
Как на счет 6? Есть ActiveX под 6 фокс аля курсорадаптер?
...
Рейтинг: 0 / 0
Update source table
    #34378292
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, как на счет RemoteView?
Какая там техника? Мне нужет параметризированный RemoteView на сервере чтоб я дергал только то что надо, и в нем, в локальном куроре менял значения, прибивал/добавлял записи, и потом это хозяйство обновляллось на таблице источника....
Есть опыт? Я никак не могу стартануть с клиент-сервером... что-то не удается мне уловит правильный смысл... только не нужно линки, я все перечитал...
...
Рейтинг: 0 / 0
Update source table
    #34378294
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не будет так проводится автоматическое обновление таблиц на сервере.Только руками.
Для обновления при помощи tableupdate надо пользовать remoteview.
...
Рейтинг: 0 / 0
Update source table
    #34378305
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novik_oneНу не будет так проводится автоматическое обновление таблиц на сервере.Только руками.
Для обновления при помощи tableupdate надо пользовать remoteview.

Вот я и спросил про remoteview...
Как это делается правильно?
...
Рейтинг: 0 / 0
Update source table
    #34378308
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой-то Генетичесий мусор
рассказал сказку, что можно сделать апдейт

про параметры в запросе поищите поиском
оч много раз обсуждалось

вы можете использовать в конструкции where
переменные ?pGGGG или даже значения свойств объектов

можете подклеивать целые выражения в конструкцию where

вот пример
который показывает как через ассайн подклеивать
выражения, но это для КАДа,
т.к. он более предпочтителен
...
Рейтинг: 0 / 0
Update source table
    #34378336
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать базу.Создать в ней remoteview, настроить как обновлять и полльзовать.
это настройка remoteview (выдрана из мастера, обработать напильником)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
* создаем базу

create database db1

* создаем в ней соединение

CREATE CONNECTION [ConnectionName | ?]   [DATASOURCE cDataSourceName]
   [USERID cUserID] [PASSWORD cPassWord]   [DATABASE cDatabaseName]   
| CONNSTRING cConnectionString]

* создаем remoteview 

CREATE [SQL] VIEW [ViewName] [REMOTE]   
   [CONNECTION ConnectionName [SHARE] | CONNECTION DataSourceName]
   AS SELECT Goods.goodsid, Goods.name;
 FROM DBA.goods Goods

* настраиваем 
DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount", 1 )
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize", 100 )
DBSetProp(ThisView,"View","MaxRecords",- 1 )
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)
DBSetProp(ThisView,"View","UpdateType", 1 )
DBSetProp(ThisView,"View","UseMemoSize", 255 )
DBSetProp(ThisView,"View","Tables","DBA.goods")
DBSetProp(ThisView,"View","WhereType", 1 )

DBSetProp(ThisView+".goodsid","Field","DataType","I")
DBSetProp(ThisView+".goodsid","Field","UpdateName","DBA.goods.goodsid")
DBSetProp(ThisView+".goodsid","Field","KeyField",.T.)
DBSetProp(ThisView+".goodsid","Field","Updatable",.F.)

DBSetProp(ThisView+".name","Field","DataType","C(60)")
DBSetProp(ThisView+".name","Field","UpdateName","DBA.goods.name")
DBSetProp(ThisView+".name","Field","KeyField",.F.)
DBSetProp(ThisView+".name","Field","Updatable",.T.)

* ну и после всего этого можно всякие replace insert delete 

...
Рейтинг: 0 / 0
Update source table
    #34378343
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
novik_one

все прекрасно,
это работает

но есть множество недостатков
но чтобы сохранить его и пользоваться снова
нужно сохранять в дбц

это не объект и его не получится пронаследовать и обвязать

оч. много строк кода. а КАД настраивается как класс, передергиванием свойств
в дизайнере.
также у него оч. много методов и событий
которые также удобно прописывать в дизайнере
...
Рейтинг: 0 / 0
Update source table
    #34378350
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну 6-ка у человека нету там КАД.
...
Рейтинг: 0 / 0
Update source table
    #34378361
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно конечно выпендриться и создать класс-обвязку к этому .........(многоточие заменить по вкусу).
...
Рейтинг: 0 / 0
Update source table
    #34378369
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет смысла сидеть на 6-м
21-й век на дворе

я уже год бьюсь за перевод крупного проекта с 8-ки на 9-ку

и не от того, что для разводки пальцев

а из-за того, что меньше багов,
усовершенствованные функции,
совсем иная работа с графикой и совсем иной КАД, и еще на пол листа почему
...
Рейтинг: 0 / 0
Update source table
    #34378383
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novik_oneСоздать базу.Создать в ней remoteview, настроить как обновлять и полльзовать.
это настройка remoteview (выдрана из мастера, обработать напильником)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
* создаем базу

create database db1

* создаем в ней соединение

CREATE CONNECTION [ConnectionName | ?]   [DATASOURCE cDataSourceName]
   [USERID cUserID] [PASSWORD cPassWord]   [DATABASE cDatabaseName]   
| CONNSTRING cConnectionString]

* создаем remoteview 

CREATE [SQL] VIEW [ViewName] [REMOTE]   
   [CONNECTION ConnectionName [SHARE] | CONNECTION DataSourceName]
   AS SELECT Goods.goodsid, Goods.name;
 FROM DBA.goods Goods

* настраиваем 
DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount", 1 )
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize", 100 )
DBSetProp(ThisView,"View","MaxRecords",- 1 )
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)
DBSetProp(ThisView,"View","UpdateType", 1 )
DBSetProp(ThisView,"View","UseMemoSize", 255 )
DBSetProp(ThisView,"View","Tables","DBA.goods")
DBSetProp(ThisView,"View","WhereType", 1 )

DBSetProp(ThisView+".goodsid","Field","DataType","I")
DBSetProp(ThisView+".goodsid","Field","UpdateName","DBA.goods.goodsid")
DBSetProp(ThisView+".goodsid","Field","KeyField",.T.)
DBSetProp(ThisView+".goodsid","Field","Updatable",.F.)

DBSetProp(ThisView+".name","Field","DataType","C(60)")
DBSetProp(ThisView+".name","Field","UpdateName","DBA.goods.name")
DBSetProp(ThisView+".name","Field","KeyField",.F.)
DBSetProp(ThisView+".name","Field","Updatable",.T.)

* ну и после всего этого можно всякие replace insert delete 



И на этом спасибо...
НО!!!... Если мне нужет RemoteView с параметризованными условиями, такое существует?
...
Рейтинг: 0 / 0
Update source table
    #34378400
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valerii

И на этом спасибо...
НО!!!... Если мне нужет RemoteView с параметризованными условиями, такое существует?

вероятно стоит попробовать
Код: plaintext
1.
2.
3.
4.
CREATE [SQL] VIEW [ViewName] [REMOTE]   
   [CONNECTION ConnectionName [SHARE] | CONNECTION DataSourceName]
   AS SELECT Goods.goodsid, Goods.name;
 FROM DBA.goods Goods where goods.goodsid=?переменная
но не уверен
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Update source table
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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