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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.08.2012, 23:59   #1
DIMASIKXXX32
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 72
Восклицание FireBird и Delphi проблема с пробелами при редактировании записи

Здравствуйте! Подскажите пожалуйста решение проблемы.
Создал базу данных в FireBird'e через IBExpert следующего вида:

ID = INTEGER
P_NAME = CHAR длина 100 символов
P_URL = CHAR длина 255 символов

Что интересно при редактирование в своем приложение данных которые находятся в этих колонках заполняются пробелами.

т.е.

если в поле name хранится текст 50 символов а не 100 то при редактирование данного поля остальные 50 символов в edite заполняются пробелами.

так заполняю форму редактирования записи
procedure TF_Main.N4Click(Sender: TObject);
begin
F_AR_NEW('Редактирование записи'); //Создадим форму через процедуру
Record_mode:=False;
with F_AR,DM1.IBQuery1 do
begin
E_Name.Text := FieldByName('P_NAME').Value;
E_URL.Text := FieldByName('P_URL').Value;
end;
end;




Что это такое может быть и что сделать?

Последний раз редактировалось DIMASIKXXX32; 18.08.2012 в 00:15.
DIMASIKXXX32 вне форума
Старый 18.08.2012, 07:07   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
Что интересно при редактирование в своем приложение данных которые находятся в этих колонках заполняются пробелами.
Это особенность полей типа CHAR.
Цитата:
... и что сделать?
Заменить типы полей на VARCHAR.
Прик вне форума
Старый 18.08.2012, 12:02   #3
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Прик абсолютно прав.
char тип данных с фиксированным числом символов, т.е. ваша строка дополняется до указанной длины
varchar тип данных плавающей длины, т.е. ваша строка переменной длины, но не может быть больше указанного в определении значения
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума
Старый 18.08.2012, 13:37   #4
DIMASIKXXX32
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 72
По умолчанию

Прик и Sparky

ОГРОМНЕЙШЕЕ СПАСИБО ВАМ ВСЕ ПОЛУЧИЛОСЬ СДЕЛАТЬ. ДЕЙСТВИТЕЛЬНО ВСЕ ДЕЛО БЫЛО В ТИПЕ CHAR.

ЕЩЕ РАЗ СПАСИБО!!!!!!
DIMASIKXXX32 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с событиями при редактировании компонентов формы из кода FiloXSee C# (си шарп) 3 08.12.2011 10:04
Firebird - fdb файл увеличивается при записи полей, но если базу очищаешь, размер остается таким же RuVarez БД в Delphi 1 23.09.2010 18:09
Delphi+Firebird - проблема переноса ForMyHome Общие вопросы Delphi 1 21.10.2009 17:35
Проблема при редактировании данных GloomyVitek БД в Delphi 8 24.11.2007 18:54