Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ключ = 0


SPIRIT ©   (2003-08-05 10:09:00) 

при добавлении в AdoTable:

insert;
fieldbyname("FIO").value:=edit1.text;
post;
last;
edit2.text:=inttostr(fieldbyname("kod").value);

в результате в edit2= "0"
почему ?


Соловьев   (2003-08-05 12:47:00) [1]


> SPIRIT © (05.08.03 12:45)

ну да, это я гоню. путаю с prior :)


Anatoly Podgoretsky   (2003-08-05 12:45:00) [2]

До SPIRIT © (05.08.03 11:57)
никакого указания на автоинкремент нкт, что ты еще умолчал?


SPIRIT   (2003-08-05 12:45:00) [3]

ну и что, что на первой... я с первой на последнюю не могу перескочить с помощью last?.. глупо.. хотя... вот такая конструкция работает...

insert;
fieldbyname("FIO").value:=edit1.text;
post;
active:=false;
active:=true;
first;
next;
last;
edit2.text:=inttostr(fieldbyname("kod").value);


Соловьев   (2003-08-05 12:40:00) [4]


> Grid index is out of range"

ну правильно. у тебя же на первой записи, а ты пытаешся выйти за пределы - вот и ошибка.


SPIRIT   (2003-08-05 12:36:00) [5]


insert;
fieldbyname("FIO").value:=edit1.text;
post;
active:=false;
active:=true;
last;
edit2.text:=inttostr(fieldbyname("kod").value);


"Grid index is out of range"

а без last все нормально выдает ключ первой записи в моем случае - 28


SPIRIT   (2003-08-05 12:23:00) [6]

после Refresh выдает такое сообщение:"Key value vas changed or deleted at the data store. The local row is noe deleted".
естественно я ключ не удалял и не переименовывал, ток что ему надо ?


SPIRIT   (2003-08-05 11:57:00) [7]

конечно автоинкремент... так что Anatoly Podgoretsky самому присваимвать нельзя

stud

там должен быть код последней записи


sniknik   (2003-08-05 11:32:00) [8]

> Ключ = 0
я почемуто решил что это автоинкремент (сам обычно его ключом делаю)


Anatoly Podgoretsky   (2003-08-05 11:20:00) [9]

Потому что в том поле 0, если надо не 0, то сделай так

insert;
fieldbyname("FIO").value:=edit1.text;
fieldbyname("KOD").value := 1;
post;
last;
edit2.text:=inttostr(fieldbyname("kod").value);


Mike1 Kouzmine1   (2003-08-05 11:08:00) [10]

0


stud   (2003-08-05 10:42:00) [11]

а что там должно быть?


SPIRIT   (2003-08-05 10:24:00) [12]

а после refresh указатель случайно не на 1-ую запись ставиться ?


sniknik   (2003-08-05 10:22:00) [13]

insert;
fieldbyname("FIO").value:=edit1.text;
post;
refresh;//requery
last;
edit2.text:=inttostr(fieldbyname("kod").value);


SPIRIT   (2003-08-05 10:21:00) [14]

ну уберем .... все равно же 0


Соловьев   (2003-08-05 10:18:00) [15]

зачем last?


Наверх

Титульная страница Поиск, карта сайта Написать письмо