Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2009, 10:12   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
Вопрос автоинкриментные поля

Добрый день! Сразу скажу, что поиском по форуму мне не удалось найти то, что надо. А надо бы мне вот что. Есть у меня таблица. Называется table_information.db (СУБД Paradox). В ней четыре колонки: ID, Фамилия, Имя, Отчество. Как сделать, чтобы когда я добавляю новые записи в БД, то у меня бы значение поля ID автоматически создавалось? То есть, например, внес я первые две записи в БД, у меня колонка ID имеет две строки: 1 и 2. Потом я внес еще, например, три записи, то у меня значение в колонке ID должно быть уже 1,2,3,4,5. Слышал, что надо использовать автоинкриментные поля, но нормального примера не видел нигде. Кто чем может помочь с этим?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.04.2009, 10:24   #2
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Не знаю поддерживает ли Парадокс автоинкрементные поля, Попробуй вот таким запросом
Код:
ALTER TABLE `Tablica` CHANGE `Pole1` `Pole1` INT( 10 ) NOT NULL AUTO_INCREMENT
Или как вариант
Запросом смотрешь максимальное значение поля и прибавляешь к нему 1
Код:
SELECT Max(ID) FROM table_information.db

Последний раз редактировалось S@fer; 18.04.2009 в 10:28.
S@fer вне форума Ответить с цитированием
Старый 18.04.2009, 11:18   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

S@fer, а нельзя разве сделать то, что мне нужно при создании таблицы? Может свойство какое-то есть?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.04.2009, 11:31   #4
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Код:
CREATE TABLE `baza`.`tablica` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
PRIMARY KEY ( `id` ) 
)
S@fer вне форума Ответить с цитированием
Старый 18.04.2009, 12:23   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

А если при создании таблицы через database desktop полю ID поставить в поле Key звездочку, то разве это не будет аналогично приведенному вами коду?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.04.2009, 12:25   #6
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Key - это ключевое поле (оно не обязательно должно быть счетчиком)
в DataBase Desctop, при создании таблицы есть поле Type - Там правым щлчком мыши можно выбрать + (Autoincrement)

Последний раз редактировалось S@fer; 18.04.2009 в 12:29.
S@fer вне форума Ответить с цитированием
Старый 18.04.2009, 15:20   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

И после этого моя проблема буэт решена?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.04.2009, 15:23   #8
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Можешь в этом даже не сомневаться...
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 18.04.2009, 20:14   #9
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
И после этого моя проблема буэт решена?)
А ты попробуй создай простую таблицу, из двух полей ID, Name, и у ID поставь Автоинкремент. а потом в ручную повноси данные в поле Nаme. И сразу увидишь, как все работает.
S@fer вне форума Ответить с цитированием
Старый 18.04.2009, 20:19   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Все работает)). А только почему IDишки располагаются в колонке в убывающем порядке сверху вниз, а не в возрастающем сверху вниз?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисляемые поля Nikola БД в Delphi 4 19.11.2008 13:26
Размер поля БД kayman Общие вопросы Delphi 1 14.10.2007 21:43
Поля в TDBGrid Lynx БД в Delphi 5 15.02.2007 18:36