|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
нумерация строк в таблице
как сделать так чтобы, при добавлении нового поля в таублицу автоматически заполнялся номер строки?
|
#2
|
||||
|
||||
Добавить поле типа "Счетчик"
|
#3
|
|||
|
|||
Поле типа "счетчик" будет первичным уникальным индексом. Если уже есть перыичный уникальный индекс в таблице, то я думаю что стоит посмотреть в сторону TCalculatedField.
|
#4
|
|||
|
|||
что за тип БД?
просто сделайте тригер-автоинкремент для ключевого поля |
#5
|
||||
|
||||
Оч просто. В коде выполняешь вначале DBGrid.DataSource.DataSet.Last, затем запоминаешь это типа StrToInt, затем выполняешь IntToStr(StrToInt+1). И без инкрементов. Если ничё не понятно,- пиши. Расскажу чиста канкретна.
АлександрЪ |
#6
|
|||
|
|||
я сделал вот так:
procedure TForm_predmet.PredmetOraTableNewRecord(DataSet: TDataSet); var maxnom:variant; begin Form_predmet.PredmetIdOraQuery.Execute; maxnom:=Form_predmet.PredmetIdOraQuery.Fields[0].Value; if maxnom=null then maxnom:=0; Form_predmet.PredmetOraTable.FieldByName('Predmet_ id').Value:=maxnom+1; end; PredmetIdOraQuery.SQL:=Select max(usl_id) from p_usluga |
#7
|
||||
|
||||
Заголовок
обычно: "а с какой базой Вы работаете!::?"
т.к. в Access лучше использовать поле типа "Счечик" (Aristarh Dark +1) в MsSQL лучше либо identity(1,1), либо в самой БД newid() в InterBase пишешь тригер в Oracle создаёшь Sequence и пишешь тригер а вот типа этого: DBGrid.DataSource.DataSet.Last жесть! .... обьясняю: Работают два пользователя НА РАЗНЫХ КОМПАХ с одной и той же БД: первый нажал на кнопку "Добавить" и второй сделал тоже самое! У них у обоих последняя запист.... потом у обоих + 1 и .........Ж.О.П.А. при сохранении. Сохраняют: кто первый сохранит у того все норм, а кто второй...ОШИБКА |
#8
|
||||
|
||||
Цитата:
не надо так делать!!! эти реализации должны быть в БД!!! блокировки данных наделаете!!! (при однопользовательской и LAST пойдет), но "приучаемся сразу к правильному" |
#9
|
|||
|
|||
Пасип
пошел переделывать создавать Sequence и писать тригер |