Главная страница
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.03 c
8-28939
NailMan
2002-09-26 05:06
2003.02.10
Узнать информацию о видео-файле


7-29127
Eugene
2002-12-06 16:05
2003.02.10
Как перестроить кэш значков Windows?


1-28835
Armageddon
2003-02-02 20:00
2003.02.10
Картинка


14-29026
Navigor
2003-01-23 16:02
2003.02.10
Как String to Integer Сделать


1-28899
Zirus
2003-01-30 06:08
2003.02.10
TabControl1