powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Insert Into
9 сообщений из 9, страница 1 из 1
Insert Into
    #39929668
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли вставить данные в таблицу DBF которая имеет поле-autoinc.?

Например, стою на первой строке данной таблицы - Scatter Memvar
и тутже - Insert into TAble from memvar
выдаёт ошибку - поле ID ReadOnly

как-нибудь обыграть данную ситуацию можно? Таблица из 40+ столбцов!
...
Рейтинг: 0 / 0
Insert Into
    #39929679
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкручиваюсь:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SCATTER memv
STORE '' TO aa,bb
FOR i=2 TO AFIELDS(ss,'A_usl')
   aa=aa+ss[i,1]+','
   bb=bb+'m.'+ss[i,1]+','
next
aa=TRIM(aa,',')
bb=TRIM(bb,',')
INSERT INTO A_usl (&aa) VALUES (&bb)



Работает!
...
Рейтинг: 0 / 0
Insert Into
    #39929686
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila
Выкручиваюсь:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SCATTER memv
STORE '' TO aa,bb
FOR i=2 TO AFIELDS(ss,'A_usl')
   aa=aa+ss[i,1]+','
   bb=bb+'m.'+ss[i,1]+','
next
aa=TRIM(aa,',')
bb=TRIM(bb,',')
INSERT INTO A_usl (&aa) VALUES (&bb)



Работает!


А если инкрементное поле будет вторым, я понимаю, что не хочется писать километровый код, но лучше взять за правило, перечислять поля в таблицах.
...
Рейтинг: 0 / 0
Insert Into
    #39929705
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно в паре со Scatter используют GATHER . Пример по ссылке внизу.
...
Рейтинг: 0 / 0
Insert Into
    #39930214
Sergej_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila,
фокса под рукой нет, но я делал как-то так (c "EXCEPT"):

Код: sql
1.
2.
3.
SCATTER FIELDS EXCEPT ID MEMVAR 
APPEND BLANK
GATHER MУMVAR
...
Рейтинг: 0 / 0
Insert Into
    #39930366
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergej_S, Чудесненько!

а вот заГуглила описание:

Код: html
1.
2.
3.
4.
SCATTER FIELDS EXCEPT Skeleton
Копирует поля исключая Skeleton в переменные или массив.
Чтобы скопировать значения всех полей кроме тех, которые соответствуют Skeleton
в переменные или массив, используйте выражение EXCEPT Skeleton.


Спасибочки!
...
Рейтинг: 0 / 0
Insert Into
    #39930838
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET AUTOINCERROR ON | OFF


Параметры

ON
При попытке обновить или вставить значения в поле с автоинкрементом возникает ошибка. Эта установка является установкой по умолчанию для общей или частных сессий работы с данными.

OFF
При попытке обновить или вставить значения в поле с автоинкрементом ошибка не возникает. Значение, которое используется для обновления или вставки в поле игнорируется; таким образом значение в поле не изменяется.

Примечания

Установка OFF предоставляет большие удобства тех случаях, когда таблица содержит поля с автоинкрементом и требуется выполнить команду, такую как APPEND FROM или INSERT INTO со списком полей. В этом случае нет необходимости заботиться о том, чтобы поля с автоинкрементом не попали в список.

Команда SET AUTOINCERROR распространяется только на текущую сессиию.
...
Рейтинг: 0 / 0
Insert Into
    #39930849
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ

Команда SET AUTOINCERROR распространяется только на текущую сессию.

Т.е. если для одного из 20+ пользователей подключенных к БД SET AUTOINCERROR OFF, а для других может быть ON ???
Supper!
...
Рейтинг: 0 / 0
Insert Into
    #39930982
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila
ВладимирМ

Команда SET AUTOINCERROR распространяется только на текущую сессию.

Т.е. если для одного из 20+ пользователей подключенных к БД SET AUTOINCERROR OFF, а для других может быть ON ???
Supper!

Если Вы не доверяете своим пользователям - перекройте им прямой доступ к базе данных, например, введите обращение только через web service или вообще мигрируйте всё на SQL Server database (благо что бесплатная версия перекроет все Ваши потребности)...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Insert Into
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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