powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Программное создание Local View
5 сообщений из 5, страница 1 из 1
Программное создание Local View
    #33681145
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из-за частого падения DBC решил написать процедурку, которая будет ее заново генерить. Таблиц нам нет, только локальные вьюшки.

Для создания вьюшки использую
Код: plaintext
1.
CREATE SQL VIEW MyView as select * from Dogovor
Для простого отображения данных она подходит.

А как указать Ключевое поле, обновляемые поля, правила обновления не понимаю ..
Подскажите, пжалста !! :-))
...
Рейтинг: 0 / 0
Программное создание Local View
    #33681161
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maltsev MaxИз-за частого падения DBC решил написать процедурку, которая будет ее заново генерить. Таблиц нам нет, только локальные вьюшки.

Для создания вьюшки использую
Код: plaintext
1.
CREATE SQL VIEW MyView as select * from Dogovor
Для простого отображения данных она подходит.

А как указать Ключевое поле, обновляемые поля, правила обновления не понимаю ..
Подскажите, пжалста !! :-))
Фокс какой?
...
Рейтинг: 0 / 0
Программное создание Local View
    #33681184
DmGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
46.
47.
48.
	LOCAL ThisView

	ThisView = "viewSellerList"

	CREATE VIEW viewSellerList AS ;
		SELECT Contractor.recordid, Contractor.companyid, Contractor.peopleid, Contractor.comment,;
			IIF(Contractor.peopleid= 0 ,PADR(Company.name, 150 ),PADR(ALLTRIM(People.family)+" "+ALLTRIM(People.name)+" "+ALLTRIM(People.name2), 150 )) AS name;
		FROM contractor ;
	    LEFT OUTER JOIN people ON Contractor.peopleid = People.recordid ;
	    LEFT OUTER JOIN company ON Contractor.companyid = Company.recordid;
	 WHERE  Contractor.seller = ( .T. )

	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","UpdateType", 1 )
	DBSetProp(ThisView,"View","UseMemoSize", 255 )
	DBSetProp(ThisView,"View","Tables","contractor")
	DBSetProp(ThisView,"View","WhereType", 1 )

	DBSetProp(ThisView+".recordid","Field","DataType","I")
	DBSetProp(ThisView+".recordid","Field","UpdateName","contractor.recordid")
	DBSetProp(ThisView+".recordid","Field","KeyField",.T.)
	DBSetProp(ThisView+".recordid","Field","Updatable",.F.)

	DBSetProp(ThisView+".companyid","Field","DataType","I")
	DBSetProp(ThisView+".companyid","Field","UpdateName","contractor.companyid")
	DBSetProp(ThisView+".companyid","Field","KeyField",.F.)
	DBSetProp(ThisView+".companyid","Field","Updatable",.T.)

	DBSetProp(ThisView+".peopleid","Field","DataType","I")
	DBSetProp(ThisView+".peopleid","Field","UpdateName","contractor.peopleid")
	DBSetProp(ThisView+".peopleid","Field","KeyField",.F.)
	DBSetProp(ThisView+".peopleid","Field","Updatable",.T.)

	DBSetProp(ThisView+".comment","Field","DataType","C(30)")
	DBSetProp(ThisView+".comment","Field","UpdateName","contractor.comment")
	DBSetProp(ThisView+".comment","Field","KeyField",.F.)
	DBSetProp(ThisView+".comment","Field","Updatable",.T.)

	DBSetProp(ThisView+".name","Field","DataType","C(150)")
	DBSetProp(ThisView+".name","Field","KeyField",.F.)
	DBSetProp(ThisView+".name","Field","Updatable",.F.)
...
Рейтинг: 0 / 0
Программное создание Local View
    #33681865
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо ...
...
Рейтинг: 0 / 0
Программное создание Local View
    #33684612
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Maltsev Max!

> Из-за частого падения DBC

Очень странно - поскольку в Production Environment практически НИКОГДА не
происходит модификация dbc (даже есть смысл открывать базу с модификатором
NOUPDATE), то её "падение" - это что-то исключительное.

> решил написать процедурку, которая будет ее заново генерить.

А не проще ли из архива извлечь "правильную" копию и всё?

P.S. Но вообще держать программу способную пересоздать dbc с нуля полезно -
в частности чтобы можно было вносить изменения в представления... Вообще
советую обратить внимание на поставляемую с фоксом утилиту GenDBC.prg а
также на имеющиеся в Инете её вариации.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Программное создание Local View
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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