Страница 1 из 1

Модификация полей

Добавлено: 23 ноя 2006, 12:52
Vlad
Подскажите, как реализовать Update (или Insert)

Код: Выделить всё

var i:integer;
...
Update current TmpTable
  set Field[i]:=5;
ругается на индекс (i), грит, что ожидается целое число.

Добавлено: 23 ноя 2006, 13:08
Den
Так не получится (

Добавлено: 23 ноя 2006, 14:01
edward_K
можно
#define iiii 3
Field[#iiii]:=

Добавлено: 23 ноя 2006, 14:12
edward_K
речь видимо о сапорт - sql?

Добавлено: 23 ноя 2006, 14:19
Vlad
Нет, об интерфейсах. Спасибо всем. Буду прописывать поля

Добавлено: 23 ноя 2006, 14:40
edward_K
в фейсах без пролем
попробуйте так
Update current TmpTable
set TmpTable.Field:=5;

Добавлено: 23 ноя 2006, 16:03
Vlad
Так и пробовал, ошибка выше

Добавлено: 23 ноя 2006, 16:06
edward_K
значит у вас поля не описаны как массив.
приведите описание вашей таблы.

Добавлено: 23 ноя 2006, 16:09
Vlad

Код: Выделить всё

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;

Добавлено: 23 ноя 2006, 16:12
Vlad
в том то и дело, что если делать
for(i=1;i<=6;i:=i+1)
tmpTable.sum:=5;
то все работает.

Добавлено: 23 ноя 2006, 16:25
edward_K
вот теперь понятно.
update current set не переваривает данные не из своей вьюшки.
а tmpTable.sum[1]:= прокатывает?
мне в лом пробовать, а вы попробуйте i описать после create view
а еще лучше в
as select word(0) (fieldname=iii)
можно еще попробовать i в tmptable и хранить.
- мож прокатит, но маловероятно.

Добавлено: 24 ноя 2006, 04:45
Alpiton
Надо сначала писать присвоение

set Field:=5;

а потом

Update current TmpTable;