Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67

Работа с первичным ключём при заполнении базы в Делфи

26.05.2015, 23:20. Показов 660. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая. В базе в каждой таблице есть первичный ключ, когда я в делфи в форме заполняю все остальные поля в таблице, я не хочу вручную прописывать его, а чтобы он просто увеличивался на +1. Какой командой в коде делфи можно это прописать? Разумеется если записей в таблице ещё нету то начать с "1".
И ещё при помощи одной и той же формы я как создаю новую запись в таблице, так и редактирую её, поэтому не всегда нужно будет новое значение ключа.
P.s: База находится на SQL server, насколько я знаю типа счётчик в нём не предусмотрен, поэтому обращаюсь к вам.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2015, 23:20
Ответы с готовыми решениями:

Ошибка с первичным ключем в запросе
create table Запрос2 ( Код_раунда int not null, Код_персонажа int not null, Код_пользователя int not null, Полученные_очки_опыта...

Замена названий полей их кодами при заполнении базы
В общем столкнулся с проблемой. Есть две таблицы Схемы_измерения и Участки. В схемах измерения нужно добавить № участка, но так как база...

Использование SimpleAdapter.ViewBinder при заполнении списка из базы данных
Здравствуйте, помогите пожайлуста разобраться с вопросом. В моём APP есть база данных, и при нажатии на кнопку её строки заношу в...

3
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
26.05.2015, 23:51
чудес нет
ключ должен формировать сам сервер
для этого на разных серверах есть разные механизмы, где-то автоинкрементное поле, где-то генератор уникального значения
мы же не знаем какой сервер вы используете и какими компонентами обеспечиваете доступ
и какая версия delphi
0
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67
27.05.2015, 00:34  [ТС]
Цитата Сообщение от krapotkin Посмотреть сообщение
чудес нет
ключ должен формировать сам сервер
для этого на разных серверах есть разные механизмы, где-то автоинкрементное поле, где-то генератор уникального значения
мы же не знаем какой сервер вы используете и какими компонентами обеспечиваете доступ
и какая версия delphi
Использую SQL server Express 2008 R2
Delphi 7
Я уже думал по поводу auto_increment, но в нём есть такая загорстка что если поле не создать, отменить или там удалить то счётчик продолжит увеличиваться, а мне это не нужно!
В теории (как я думаю) можно прописать код, который будет проверять значение последней записи в поле ключ, и при создании новой записи давать ему значение +1, а при отсутствии записей в таблице ставить =1, но я ещё слаб в использовании делфи, поэтому и обратился! Такая задумка реализуема?

Добавлено через 22 минуты
Подключаю базу через ADOConnection, ADOQuery и DATASource. В ADoQuery прописаны запросы на отображение в гриде! Ну в общем всё по обычному.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
27.05.2015, 05:53
механизм +1 годится только для баз с 1 пользователем
если их 2 и более, то это гарантированный выстрел в ногу

далее - ключевое поле НИКОГДА не должно использоваться как порядковый номер
это просто безымянный ключ, по которому можно идентифицировать запись в таблице
так что он ДОЛЖЕН быть auto_increment
для порядкового номера заводите отдельное поле и храните там что угодно, и сортируйте по нему
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2015, 05:53
Помогаю со студенческими работами здесь

Выдает ошибку при заполнении Базы данных через Delphi
База данных - mysql dbforge Пытаюсь ввести данные в базу, но выдает эту страшную ошибку. С чем она связана? Заранее благодарю

Распределение данных по разным таблицам в exel при заполнении общей базы данных
При создании базы данных по оборотам компаний и формировании отчета по каждой из них, я не знаю как правильно сделать так, чтобы при...

Работа с TextBox C#: при заполнении первого текст бокса - второй выводил результат
Привет форумчане. Такая задача: есть 2 текст бокса, необходимо, после заполнения первого - увидеть результат во 2-ом, при этом выводить 15%...

Ошибка в заполнении базы MySQL
Здравствуйте уже 6 часов мучаюсь, код не хочет работать. При отправки формы код выполняется до отправки запроса а запрос или не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru