Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66

Изменение размера полей

04.06.2019, 23:49. Показов 2497. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Указывайте, пожалуйста, на какой из вопросов отвечаете(на всякий случай).
1 вопрос: Как их изменить так, чтобы они оставались со своими размерами? В Unit.pas(курсовая работа) я изменяю, сохраняю и запускаю проект, но ничего не изменяется и они остаются большими. Никак не могу изменить. В свойстве Width каждого Column изменял, но ничего меняется.

2 вопрос: Можно ли как-то изменить Код строки? Т. к. они идут не по порядку(хотелось бы от 1 и т. д.). На скрине видно, хочу, чтобы при удалении код освобождался и можно было снова его заполнить новыми данными. Получаются пробелы, которые не знаю как убрать. Вот 1,2,6.., а 3,4,5 больше никак не заполнить.
Миниатюры
Изменение размера полей   Изменение размера полей   Изменение размера полей  

0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2019, 23:49
Ответы с готовыми решениями:

Изменение значений полей в БД
Здравствуйте. Имеется таблица в которой нужно выполнить математическое действие для некоторых полей. Имеется DBEdit в котором...

Изменение полей DBGrid
Всем привет! Такой вопрос: я в DBGrid помещаю таблицу, в которой в одном столбце находится численные значения и нужно, чтобы выводилось не...

Изменение наименования полей у БД Paradox.
Уважаемые форумчане, есть у меня небольшой просьба. Не подскажите ли Вы как можно программно изменить наименование поля у базы данных...

8
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,410
Записей в блоге: 3
05.06.2019, 04:25
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Указывайте, пожалуйста, на какой из вопросов отвечаете(на всякий случай)
DevilAndEvil, а Правила форума не для Вас писаны?
п. 4.4 На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в ответах и облегчает поиск.
По хорошему такие темы разделять на две надо, или закрывать, если при разделении смысл одной из получившихся тем потеряется, что и произойдет в Вашем случае. А Вы еще указываете, как Вам тут отвечать
 Комментарий модератора 
И это не троллинг и не стариковское ворчание - это официальное предупреждение администрации форума; примите это к сведению, чтобы избежать неприятных недоразумений в дальнейшем!
1
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,410
Записей в блоге: 3
05.06.2019, 05:30
Лучший ответ Сообщение было отмечено DevilAndEvil как решение

Решение

теперь по делу:
для начала отвечаю на второй вопрос (все, как Вам угодно )
1. Сразу забывайте про русский язык в названиях таблиц и полей БД - избежите в дальнейшем многих неприятностей!
2. Не надо использовать в качестве набора данных ADOTable - технологию прошлого тысячелетия - с базами данных работают посредством SQL-запросов и компонентов ADOQuery
3. Поле "Код" (оно же ID в нормально сделанных таблицах) - поле автоинкрементное, поэтому без дополнительных тягомотных и никому не нужных танцев с бубном это сделать не получится. Я не говорю, что нельзя, я говорю, что не нужно... Потому, что Автоинкрементное поле в 99% случаев является первичным ключом, обеспечивая уникальность каждой записи таблицы БД, а так же служит для связи между таблицами. Это чисто служебное поле, нужное во всяких внутрибазовых делах и выдавать его на обозрение, а уж тем более на редактирование, конечному пользователю не только нет надобности, но и настоятельно НЕ рекомендуется.
4. Если Вы что-то там удаляете в своих таблицах - пересматривайте логику своего приложения! В БД не надо ничего удалять, надо устанавливать какой либо признак, что данная запись больше не участвует в общей работе. Да, это приведет к незначительному увиличению объема БД (а если Вы не используете функции сжатия БД - то и не приведет, т.к. если не сжать БД средствами самой СУБД размер файла БД не изменится ни на байт, хоть вы все записи поудаляйте). Но плюсом этого метода является то, что Вы всегда имеете информацию о том, что и когда "удалялось", можете это посмотреть, проверить и, при ошибочном действии, всегда исправить ситуацию, просто изменив статус записи и вернув ее "в строй"

теперь ответ на вопрос 1.
Изменить мышью ширину колонок DBGrid в DesignTime - абсолютно не достаточно. Точнее - это вообще бессмысленная работа. Для решения проблемы есть 2 пути
1. Указать адекватную ширину поля при создании таблицы БД. Тогда и при выполнении приложения все будет нормально отображаться



2. Использовать свойства самого DBGrid-а. Преимущества очевидны: Вы можете показать только некоторые поля, а не все подряд, можете изменить отображаемый заголовок колонки, при том, что реальное имя поля остается неизменным, выставить нужную ширину, цвета и т.д. Для этого:
а) Вам необходимо задать набор полей для отображения. Делаем клик ПКМ на DBGrid, выбираем Columns Editor..., добавляем столько полей, сколько хотим видеть в своей сетке...



б) Для каждого добавленного поля устанавливаем свойство FieldName - связываем столбец сетки с реальным полем набора данных, оформляем заголовок колонки и выставляем требуемую ширину - смотрится куда как эстетичнее, не показываются "лишние" данные, хотя все они присутствуют в наборе и к ним всегда можно обратиться...
Миниатюры
Изменение размера полей  
1
5976 / 4551 / 1095
Регистрация: 29.08.2013
Сообщений: 28,172
Записей в блоге: 3
05.06.2019, 08:24
по поводу Кода - сам id который автоинкремент оставляй в базе и не показывай пользователю
а если хочешь пронумеровать строки красиво, то используй ROW_NUMBER (которого в аксессе конечно нет)
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
05.06.2019, 09:33
Цитата Сообщение от qwertehok Посмотреть сообщение
не показывай пользователю
Не согласен. При поиске ввод числа проще чем фамилии, где по возможно перепутать буквы и даже Like не поможет, а циферки однозначно покажет искомую запись. Например номер заказа, номер заказчика в базе. Так же при вводе данных организовать возможность ввода ИД номера для оператора лучше чем выпадающий список хотя бы из трех значений. ИМХО Выпадающий список как основной способ выбора данных ЗЛО для оператора.
А вот давать редактировать пользователю ИД это не зло, это идиотизм.
0
5976 / 4551 / 1095
Регистрация: 29.08.2013
Сообщений: 28,172
Записей в блоге: 3
05.06.2019, 09:36
ZfoxAK,
я писал про данный конкретно случай
тут ТС пишет
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
они идут не по порядку(хотелось бы от 1 и т. д.)
0
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,410
Записей в блоге: 3
05.06.2019, 09:44
Цитата Сообщение от ZfoxAK Посмотреть сообщение
Например номер заказа, номер заказчика в базе
ZfoxAK, не знаю, не знаю... ID - это ID, уникальный идентификатор, внутренняя кухня БД, а номер заказа, к примеру - это отдельное поле, наряду с другими, которое, да, может быть уникальным числовым, а может и буквы содержать и обнуляться каждый год/месяц/день... И полагаться на него, используя в качестве ключевого поля, я бы не стал...
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
05.06.2019, 10:08
qwertehok, В данном случае я вижу некий справочник. И без знания цели вывода данного справочника дать корректный совет о выводе ИД я бы не стал.
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
На скрине видно, хочу, чтобы при удалении
Я могу предположить, что в данном случае ведется речь о редактировании справочника. Исходя из этого предположения: вывод всего справочника с Ид имеем место быть.

Добавлено через 10 минут
D1973, Почему бы эту кухню не использовать. У меня есть наглядный пример данного использования и очень удобный. А главное скорость ввода оператором данных показывает превосходство такого подхода. Например МКБ-10.
Цитата Сообщение от D1973 Посмотреть сообщение
номер заказа, к примеру - это отдельное поле, наряду с другими, которое, да, может быть уникальным числовым, а может и буквы содержать и обнуляться каждый год/месяц/день...
Но в каждом отдельном случае нужно рассматривать использование того или иного подхода исходя из знаний, опыта и предпочтения. Как мы все и делаем.

Добавлено через 2 минуты
qwertehok, А о той хотелки ТС-а как 1,2,3 вы полностью правы. И идет это от непонимания сути ИД и как "живет" БД
0
05.06.2019, 10:20

Не по теме:

Цитата Сообщение от ZfoxAK Посмотреть сообщение
А главное скорость ввода оператором данных показывает превосходство такого подхода
тут абсолютно согласен
например заносить товары в накладную проще по id товара, сам видел когда сотрудник вбивал данные как пулемет
в то же время этот ID - ключевое поле в БД

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2019, 10:20
Помогаю со студенческими работами здесь

Изменение размера формы
Есть ли способ, что б изменять размер формы. но при этом с начало будет показана рамка нового размера а за тем форма примет ее значение. ...

Изменение размера формы
Скажите пожалуйста, как програмно уменьшить размер формы? По нажатию на кнопку (Butto1) размер формы менялся на нужные размеры заданные в...

Изменение значений полей в 2х таблицах ADO
Доброе время суток, подскажите пожалуйста как можно выполнить задачу - имеются 2 таблицы, в первой таблице 1 поле - специальность, оно же...

Авто изменение размера полей, подчиненной формы в зависимости от длины текста
Здравствуйте. Можно ли сделать так, чтобы автоматически устанавливались размеры полей,полей со списком,а также размер подчиненной формы,...

Изменение размера окна -> изменение размера картинки
Есть картинка на Homepage, как сделать так, что бы при изменении окна браузера размер картинки автоматически изменялся соответственно...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru