Программирование на Атлантисе (VIP, FCOM, ARD), FastReport
Модераторы: m0p3e , edward_K , Модераторы
Vlad
Постоянный обитатель
Сообщения: 101 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск
Сообщение
Vlad » 23 ноя 2006, 12:52
Подскажите, как реализовать Update (или Insert)
Код: Выделить всё
var i:integer;
...
Update current TmpTable
set Field[i]:=5;
ругается на индекс (i), грит, что ожидается целое число.
Den
Местный житель
Сообщения: 1842 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:
Сообщение
Den » 23 ноя 2006, 13:08
Так не получится (
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 23 ноя 2006, 14:01
можно
#define iiii 3
Field[#iiii]:=
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 23 ноя 2006, 14:12
речь видимо о сапорт - sql?
Vlad
Постоянный обитатель
Сообщения: 101 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск
Сообщение
Vlad » 23 ноя 2006, 14:19
Нет, об интерфейсах. Спасибо всем. Буду прописывать поля
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 23 ноя 2006, 14:40
в фейсах без пролем
попробуйте так
Update current TmpTable
set TmpTable.Field:=5;
Vlad
Постоянный обитатель
Сообщения: 101 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск
Сообщение
Vlad » 23 ноя 2006, 16:03
Так и пробовал, ошибка выше
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 23 ноя 2006, 16:06
значит у вас поля не описаны как массив.
приведите описание вашей таблы.
Vlad
Постоянный обитатель
Сообщения: 101 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск
Сообщение
Vlad » 23 ноя 2006, 16:09
Код: Выделить всё
table struct tmpTable
(
Nrec:comp,
tperson:comp,
tLschet:comp,
NameSp : string[80],
Ifns : string[20],
fio:string[60],
Sum:array [1..10] of double
)
WITH INDEX
(
tmpTable01=nrec,
tmpTable02=tlschet
)
;
и соответсвенно
Код: Выделить всё
update current tmpTable set
tmpTable.sum[i]:=tmpTable.sum[1]+sum;
Vlad
Постоянный обитатель
Сообщения: 101 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск
Сообщение
Vlad » 23 ноя 2006, 16:12
в том то и дело, что если делать
for(i=1;i<=6;i:=i+1)
tmpTable.sum:=5;
то все работает.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 23 ноя 2006, 16:25
вот теперь понятно.
update current set не переваривает данные не из своей вьюшки.
а tmpTable.sum[1]:= прокатывает?
мне в лом пробовать, а вы попробуйте i описать после create view
а еще лучше в
as select word(0) (fieldname=iii)
можно еще попробовать i в tmptable и хранить.
- мож прокатит, но маловероятно.
Alpiton
Посетитель
Сообщения: 40 Зарегистрирован: 18 апр 2006, 09:19
Сообщение
Alpiton » 24 ноя 2006, 04:45
Надо сначала писать присвоение
set Field:=5;
а потом
Update current TmpTable;