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

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
07.03.2007, 17:53
    #34378276
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update source table
потому, что
есть курсорадаптер или ремоутвью

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

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

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

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

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

вот пример
который показывает как через ассайн подклеивать
выражения, но это для КАДа,
т.к. он более предпочтителен
...
Рейтинг: 0 / 0
07.03.2007, 18:16
    #34378336
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update source table
Создать базу.Создать в ней 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
07.03.2007, 18:19
    #34378343
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update source table
novik_one

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

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

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

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

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

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

а из-за того, что меньше багов,
усовершенствованные функции,
совсем иная работа с графикой и совсем иной КАД, и еще на пол листа почему
...
Рейтинг: 0 / 0
07.03.2007, 18:39
    #34378383
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update source table
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
07.03.2007, 18:53
    #34378400
novik_one
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update source table
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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Update source table / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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