Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
3-28595
cranium
2003-01-21 20:32
2003.02.10
Можно ли в ХП в качестве параметра передовать имя таблицы?


9-28565
Kornoman
2002-08-23 09:57
2003.02.10
Создание меню


1-28864
Оля
2003-01-30 13:55
2003.02.10
Корректная работа программы


1-28709
Areon
2003-01-31 08:22
2003.02.10
Подмена имени


14-29085
Феликс
2003-01-24 01:44
2003.02.10
Кому нравятся модели?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский