Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В чем причина??? / 6 сообщений из 6, страница 1 из 1
28.09.2005, 01:10:20
    #33292078
vlas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
не работает увеличение id

PROCEDURE in_menu

IF !USED('init')
USE shared IN 0 init
ENDIF

SELECT init
BEGIN TRANSACTION
SELECT init
CALCULATE MAX(menu) TO max_id
m.max_id=m.max_id+1

SELECT init
replace menu WITH m.max_id
END TRANSACTION
USE IN init
RETURN m.max_id
ENDPROC






а так работает увеличение ID

PROCEDURE in_menu

IF !USED('init')
USE shared IN 0 init
ENDIF


BEGIN TRANSACTION
SELECT init
CALCULATE MAX(menu) TO max_id
m.max_id=m.max_id+1

UPDATE init SET menu=m.max_id

END TRANSACTION
USE IN init
RETURN m.max_id
ENDPROC



в чем дело???????

не подскажете??
...
Рейтинг: 0 / 0
28.09.2005, 01:49:18
    #33292089
Komissar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
Извини - не ответ! ПАТАМУШТА - изначально не вопрос... :-(

Читаю тему: "В чем причина???"
Дальше читать не хочется! Знаешь почему?
Потому, что в теме надо написать: "не работает увеличение id"
А в вопросе спрашивать: "В чем причина???"
И то - только в конце...
...
Рейтинг: 0 / 0
28.09.2005, 01:51:24
    #33292091
Komissar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
Вдогонку! (сорри - злой я сегодня)
Кто-то должен искать отличия в двух вариантах твоего кода?
Почему сам не указываешь разницу?
И оформление кода для кого придумано?
...
Рейтинг: 0 / 0
28.09.2005, 02:17:45
    #33292097
vlas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
UPDATE init SET menu=m.max_id -РАБОТАЕТ

но

SELECT init
replace menu WITH m.max_id

не работет

не изменяется значение id при использовании replace with???
...
Рейтинг: 0 / 0
28.09.2005, 02:23:19
    #33292106
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
Hi vlas!

1) Считать ID используя MAX() - мягко говоря не очень здорово - так что тебе в поиск по слову NewID.
2) CALCULATE переводит указатель записи на EOF - там чего-то REPLACE-ить бессмысленно - там нету данных.
3) UPDATE без части WHERE меняет данные ВО ВСЕХ записях - как оно у тебя могло "работать" я просто не представляю.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.09.2005, 02:29:50
    #33292108
vlas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем причина???
запись ,по которой работало update, всего одна)))- поэтому оно и работало
Спасибо за помощь)))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В чем причина??? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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