Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

С varchar-ом не могу подружиться... [D6, FireBird 1.0]


Miwa ©   (2004-01-29 03:53:00) 

Почему у меня все данные типа varchar в клиент попадают с пробелами в конце?
Таблица:
PATH_NAME: varchar[128];
PATH_ID: integer;
PATH_CHECKED: smallint;

Запрос:
with ibquery1.sql do begin
clear;
add("select p.path_name, p.path_checked, p.path_id from pathes p order by p.path_name");

Результат:
ibquery1.fields[0].asstring = "\\server\shared\ И ЕЩЕ ДО*** ПРОБЕЛОВ";

Вопросс:
что не так кроме рук?


Miwa   (2004-01-30 12:01:00) [1]

1. Чесное слово без пробелов.
2. Нет. Если не считать определением полей присвоение
s:=query1.Fields[0].AsString;


Кщд   (2004-01-29 08:42:00) [2]

miwa © (29.01.04 07:25) [2]
в базе точно без концевых пробелов?
поля в Query определены?


miwa   (2004-01-29 07:27:00) [3]

Упс...
Последнее предложение следует читать как:
Ник у Вас, кстати, прикольный.
И не следует воспринимать, как оскорбление. Прошу извинить, если оно звучит (выглядит) обидно.


miwa   (2004-01-29 07:25:00) [4]

http://ibase.ru/devinfo/charvar.htm
Особенности строковых типов данных
Давайте сначала повторим описание этих типов данных из документации (Data Definition Guide):
CHAR(n) - n символов, от 1 до 32767, строковый тип фиксированной длины. Если содержимое поля меньше указанного размера, то оно "выравнивается" (добивается) дополнительными пробелами.
VARCHAR(n) - n символов, от 1 до 32767, строковый тип переменной длины. Пробелы в конце содержимого поля игнорируются.


И чуть ниже по тексту

лучше использовать VARCHAR - по хранению varchar на 2 байта больше char, зато в приложениях не надо писать отрезание концевых пробелов у строк.

Еще предложения есть?
Ник у Вас, скстати, прикольный :о)).


Кщд   (2004-01-29 07:01:00) [5]

думается не до***, а 128-length(p.path_name)


Наверх

Титульная страница Поиск, карта сайта Написать письмо