Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

говорят легко   Найти похожие ветки 

 
cOrps   (2003-01-23 11:09) [0]

Приветствую вас мастаки
Как сделать чтоб при добавлении новой записи в таблицу
числовое поле "номер" увеличивалось на единицу
надо чтоб оно было не автоинкриниментное.
Заранее хочу сказать что я в дельфи и ваще в программировании
неочень, по учебе понадобилось!


 
Reindeer Moss Eater   (2003-01-23 11:10) [1]

числовое поле "номер" увеличивалось на единицу
По сравнению с чем?


 
Чудак   (2003-01-23 11:23) [2]

если оно у тебя типа Number то можно сделать так:

Table1.Last;
k:=Table1.FieldByName("Number").AsInteger;
Table1.Append;
Table1.FieldByName("Number").AsInteger:=k+1;
Table1.Post;

где k указываешь типа k:integer; в разделе описания переменных var


 
Johnmen ©   (2003-01-23 11:34) [3]

Как сказал Чудак не делай !!!

SELECT MAX(id)+1 FROM Table - нужное тебе значение


 
MsGuns ©   (2003-01-23 11:39) [4]

"Легко" говорят те, кто написал 2-3 проги с парой таблиц, к тому же эти проги или вообще не юзаются или юзаются "По воскресеньям после понедельника".

Есть несколько способов для Парадокса:

1. Номер определяется как Max(Num)+1
2. Номер хранится в некоей таблице БД, где и модифицируется каждый раз при добавлении любым юзером новой записи (эмуляция генератора или автоинкремента для не клиент-серверных БД)

Оба способа имеют минуса, как-то:
-нет гарантии от KeyViolation (дублирования ключей)
-"дырки" в нумерации, возникающие при удалениях
-проблемы с массовыми вставками (Insert into ... Select From ..)

В общем, нормального, корректного и надежного способа получения первого "свободного" номера не существует (по крайней мере я об этом не знаю)


 
cOrps   (2003-01-23 11:46) [5]

простите за еще один глупый вопрос
а куда это все пишут ?:)
Заранее прошу меня непретиснять всякими приколами
Мне действительно надо это по учебе.
Я ваще на спортфаке учусь. По информатике препод
требовательный срыву недает.



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-28775
Adam
2003-01-27 18:13
2003.02.10
Заменя пробелов


1-28753
Saracin
2003-01-31 17:46
2003.02.10
Линейка как MS Word


3-28619
Radimir
2003-01-23 10:22
2003.02.10
ADOTable и Oracle8i


8-28938
Artem21x
2002-10-28 21:09
2003.02.10
DelphiX и следы


7-29113
arc
2002-12-04 15:38
2003.02.10
Из памяти на диск